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

[经验分享] Python数据结构之列表、元组及字典

[复制链接]

尚未签到

发表于 2015-4-21 10:26:38 | 显示全部楼层 |阅读模式
  一位大牛Niklaus Wirth曾有一本书,名为《Algorithms+Data Structures=Programs》,翻译过来也就是算法+数据结构=程序。而本文就是介绍一下Python中内建的三种数据结构----列表、元组以及字典。
  列表
    列表是处理一组有序项目的数据结构,即你可以在一个列表中存储一个 序列 的项目。
    1.list函数
    因为字符串不能像列表一样被修改,所以有时候根据字符串创建列表就很有用了,list可以实现这个操作: 



1 >>>list("Hello")
2 ['H','e'.'l'.'l'.'o']
  PS:可以用一下方法将一个由字符组成的列表转换为字符串:  



1 ''.join(list)
  list为要转换的列表名。
    2.基本的列表操作


  • 改变列表    



1 >>>x = [1,1,1]
2 >>>x[1] = 2
3 >>>x
4 [1,2,1]

  • 删除元素



>>>names = ['Void','Alice','Jack']
>>>del names[2]
>>>names
['Void','Jack']

  • 分片赋值



>>>name = list('Perl')
>>>name
['P','e','r','l']
>>>name[2:] = list('ar')
>>>name
['P','e','a','r']
    3.列表方法


  • append
    append方法用于在列表末尾追加新的对象:  



1 >>>list = [1,2,3]
2 >>>list.append(4)
3 >>>list
4 [1,2,3.4]

  • count
    count用于统计某个元素在列表出现的次数:  



1 >>>x = [[1,2],1,1]
2 >>>x.count(1)
3 2

  • extend
    extend方法可以在列表的末尾一次性追加另一个序列中的多个值。换句话说,可以用新列表扩展原有的列表: 



1 >>>a = [1,2,3]
2 >>>b = [4,5]
3 >>>a.extend(b)
4 >>>a
5 [1,2,3,4,5]

  • index
    index方法用于从列表中找出某个值第一个匹配项的索引位置:



1 >>>a = ['Love','for','good']
2 >>>a.index('good')
3 3

  • insert
    insert方法用于将对象插入到列表中:



1 >>>a = [1,2,3]
2 >>>a.insert(1,'four')
3 >>>a
4 [1,'four',2,3]

  • pop
    pop方法会移除列表中的一个元素(默认是最后一个),并且返回该元素的值:  



1 >>>x = [1,2,3]
2 >>>x.pop()
3 3
4 >>>x
5 [1,2]

  • remove
    remove用于移除列表中某个值的第一个匹配项:  



1 >>>x = ['to','be','or','not','to','be']
2 >>>x.remove('be')
3 >>>x
4 ['to','or','not','to','be']

  • reverse
    reverse方法将列表中的元素反向存放: 



1 >>>x = [1,2.3]
2 >>>x.reverse()
3 >>>x
4 [3,2,1]

  • sort
    sort方法用于在原位置对列表进行排序:



1 >>>x = [4,6,2,1,7,9]
2 >>>x.sort()
3 >>>x
4 [1,2,4,6,7,9]
  
  元组
  元组和列表的主要区别在于:列表可以修改,元组则不能。也就是说,如果根据需求来添加元素,那么列表可能会更加好用,而出于某些原因,序列不能修改的时候,使用元组则更加合适。
  创建元组的方法很简单,只需用逗号分隔开一些值,那么你就自动创建了元组。 



1 >>>1,2,3
2 (1,2,3)
  PS:那么你想知道如何实现一个值的元组么?你可以猜一下,方法很奇特-必须有一个逗号,哪怕只有一个值:



>>>43,
(43)
>>>43
43
    1.tuple函数
    tuple函数的功能与list基本上是一样的:以一个序列作为参数并把它转换为元组



>>>tuple([1,2,3])
(1,2,3)
  2.基本元组操作
    元组的操作其实并不复杂,除了创建和访问之外也没有太多的其他操作。
  字典
  列表这种数据结构适合于将值组织到一个结构中,并且通过编号对其进行引用。而字典这种数据结构是通过名字来引用值的数据结构,这种数据结构称为映射(mapping)。字典是Python中唯一内建的映射类型,字典中的值并没有特殊的顺序,但是都存储在一个特定的键下,键可以是数字、字符串、甚至元组。
  1.创建和使用字典 



1 >>>phone = {'Void':'123','Allen':'321'}
2 >>>phone['Void']
3 '123'
  2.基本字典操作


  • len(d)返回d中的项(键-值对)的数量
  • d[k]返回关联到键k上的值
  • d[k]=v将值v关联到键k上
  • del d[k]删除键为k的项
  • k in d 检查d中是否含有键为k的项  

运维网声明 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-59154-1-1.html 上篇帖子: python原生结束线程的方法 下篇帖子: Python小游戏之猜数字
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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