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

[经验分享] python 数据结构

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2018-8-12 12:16:20 | 显示全部楼层 |阅读模式
  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-550610-1-1.html 上篇帖子: Python -- collection 系列 下篇帖子: 开始学习Python了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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