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

[经验分享] Python dict dictionaries Python 数据结构——字典

[复制链接]

尚未签到

发表于 2015-4-20 11:54:32 | 显示全部楼层 |阅读模式
  字典是比列表更先进的一种内置数据结构。
  “字典”就像实际中的字典一样,每一个单词对应好几个意思。在Python里面就是每一个键对应一个关联值。
  在Python中,我们可以很方便的创建字典。
  
a_dict = {'server': 'db.diveintopython3.org', 'database': 'mysql'}
  server 为键,db.diveintopython3.org 为值
  database 为键,mysql 为值
  字典由键(key)索引,而不能用关联值索引。
  所以我们可以使用a_dict[server] 而不能使用 a_dict[mysql] ,我们可以由键获取值,而不能根据值获取键。
  字典 可以在任何时间被修改,而且没有预定义大小。字典中不能有重复的键,所以当对原来有的键进行赋值时,新的值会取代旧的值,而不是创建一个新键值对。
  当然,如果对一个不存在的键进行赋值,那么Python就会自动建立一个新的键值对。
  如何删除一个键值对。
  使用del 就可以了。
DSC0000.png
  怎么给一个键对应好几个值呢。
  字典能对应好多意思,当然Key也能对应好多value
  虽然Python 本身不能对字典的键进行多赋值,但是我们可以使用列表的方法。



a_dict = {'server': ['db.diveintopython3.org','blog.ppzchina.com'], 'database': 'mysql'}
DSC0001.png
  这样,我们就可以使用列表的性质了,任何性质。
DSC0002.png
  有没有C语言中的二维数组的感觉。但却强大多了。
  当然针对字典,还有一些常用的方法如下表。使用方法 a_dict.clear( )



方法


说明


clear( )


从字典删除所有项


copy( )


创建并返回字典的浅拷贝(新字典元素为原始字典的引用)


get(key [ ,returnvalue] )


返回key的值,若无key而指定了returnvalue,则返回returnvalue 值,若无此值则返回None


has_key( key )


如果key存在于字典中,就返回1(真);否则返回0(假)


items( )


返回一个由元组构成的列表,每个元组包含一对键-值对


keys( )


返回一个由字典所有键构成的列表


popitem( )


删除任意键-值对,并作为两个元素的元组返回。如字典为空,则返回KeyError异常


setdefault( key [,dummvalue])


具有与get方法类似的行为。如key不在字典中,同时指定了dummvalue,就将键(key)和指定的值(dummvalue)插入字典,如果没有指定dummvalue,则值为None


update( newDictionary )


将来自newDictionary的所有键-值添加到当前字典,并覆盖同名键的值


values( )


返回字典所有值组成的一个列表


iterkeys( )


返回字典键的一个迭代器


iteritems( )


返回字典键-值对的一个迭代器


itervalues( )


返回字典值的一个迭代器

运维网声明 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-58838-1-1.html 上篇帖子: 一个简单的语义分析算法:单步算法——Python实现 下篇帖子: 排序算法学习,python实现
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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