设为首页 收藏本站
查看: 530|回复: 0

[经验分享] python 数据结构

[复制链接]
累计签到:2 天
连续签到:1 天
发表于 2016-1-28 08:29:33 | 显示全部楼层 |阅读模式
list(列表)

创建list
方式1  : 直接创建  theList = [1,2,3,4,5,6,7,8,9]                    ==> [1,2,3,4,5,6,7,8,9]

方式2 : 使用内建方法list(),  list方法接受一个序列参数(例如元组或者字符串)

           1 theList = list((1,2,3,4,5,6,7,8,9))   ==> [1,2,3,4,5,6,7,8,9]
           2 theList = list("abcdefg")              ==> ["a","b","c","d","e","f","g"]

向list中增加元素
1 使用List的append方法  

    theList = [] ; theList.append(1)  ==> [1]

2 使用赋值的方法
    theList = [] ; theList[0:2] = [1,2]  ==> [1,2]

在List中查找指定的元素
1 使用index方法,返回的是元素在list中的序号,如元素不在list中,会抛出ValueError异常

    theList = [1,2,3,4,5,6,7,8]  ;  indexNum = theList.index(1)   ==> indexNum - 0

2 使用 in ,如果元素存在于List 中返回True , 如果不存在返回 False
    theList  = [1,2,4]
    1 in theList ==> True
    3 in theList ==> False


删除List中指定的元素
1)使用del方法删除元素
      theList = [1,2,3,4,5,6] ; del(theList[1])  ==> [1,3,4,5,6]   


计算List的长度
1) 使用len() 方法
     theList = [1,2,3,4,5] ; len(theList) ==> 5

map(字典)
map 每个元素包含 键(key) 和 值(value) 两部分。字典中的每个键都是唯一的

创建MAP
theMap = {"a":1,"b":2,"c":3}     ==>{ 'c': 3, 'a': 1, 'b': 2}


向MAP增加元素
MAP增加一个关键字“a" . 关键字‘a' 对应着值1

theMap = {}
theMap["a"] = 1



在MAP中查找指定元素
检查指定的关键字是否存在于MAP中
theMap ={"a":1,"b":2,"c":3}
查找关键字'a' 是否在MAP中
'a' in theMap    ==> True

查找关键字'k'是否在MAP中
'k' in theMap     ==> False





删除MAP中制定的元素
theMap = {"a":1,"b":2,"c":3}

1 从MAP中删除指定的关键字 'b'
del(theMap['b'])   ==> {'c': 3, 'a': 1}
2 从MAP中删除关键字'm'
del(theMap['m'])   ==> KeyError: 'm'   抛出异常,不能删除不存在的关键字


计算MAP的长度

theMap = {"a":1,"b":2,"c":3}
len(theMap)  ==>  3


String(字符串)
字符串是不可变的值


字符串的赋值
theStr = "sample line"

字符串的格式化/连接
lineOne = "one"    lineTwo = "two"

1  使用 + 号连接
   lineThree = lineOne + lineTwo   ==> onetwo
2 join() 方法连接
   '-'.join([lineOne,lineTwo]) ==> onetwo
  '-'.join(lineOne)                  ==>o-n-e
3 使用format方法
    1 lineThree = "%s%s"%(lineOne,lineTwo)       ==> onetwo

    2 "{0}{1}".format(lineOne,lineTwo)                   ==> onetwo

    3 "{one}{two}".format(one=lineOne , two = lineTwo)   ==> onetwo

    4  p = [lineOne,lineTwo]
        "{0[0]}{0[1]}".format(p)                                               ==>onetwo

    5 字符串分割(splite)
       lineOne.split()                          ==> ['o','n','e']

    6 字符串去除空白字符(strip)
        "    abc    ".strip()                    ==> 'abc'


字符串的提取
        lineOne[1:]  = "ne"
        lineOne[:-1] = "on"
       lineOne[1:-1] = "n"

       k = "abcdefg" ;  k[0::2]    ==> 'aceg'


字符串与其他数据类型的转换


float(str)                  float("1e-1")  结果为0.1
int(str)                     int("12")        结果为12
int(str,base)             int("11",2)    结果为3,将 2进制的 11 转换为 十进制数

                                int("11",8)    结果为9 ,将8进制的 11 转换为 十进制数


字符串查找
tmp = "asdfghjkl"

1 find
    tmp.find("a")    ==> 0   #字符存在于字符串中

    find.find("z")    ==> -1  #字符串不存在于字符串

2 index
    tmp.index('a')   ==> 0                   #字符存在于字符串中
    tmp.index('z')   ==>  ValueError   #字符串不存在于字符串



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-170412-1-1.html 上篇帖子: Python闭包 下篇帖子: python 批量登录服务器 python
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表