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

[经验分享] Python快速学习06:词典

[复制链接]

尚未签到

发表于 2015-4-25 11:11:03 | 显示全部楼层 |阅读模式
  系列文章:[传送门]
  上面讲的,特别是对象和类,大家好好体会。
  Python对象是Python语言的核心部分。今天介绍一个新类:词典(dictionary)
  

基本概念
  字典是Python 中的映射数据类型,工作原理类似关联数组或者哈希表,由键-值(key-value)对构成。几乎所有类型的Python 对象都可以用作键不过一般还是以数字或者字符串最为常用。值可以是任意类型的Python 对象,字典元素用大括号({ })包裹。
  
  例子



dic = {'tom':11,'sam':57,'lily':100}
print (type(dic))
print (dic.keys())
print (dic.values())
print (dic.items())
  
  会有下面的输出




dict_keys(['sam', 'lily', 'tom'])
dict_values([57, 100, 11])
dict_items([('sam', 57), ('lily', 100), ('tom', 11)])
  #可见dic是个 词典 类
  #词典中的键的集合或者值的集合。方法Keys() 或 values() 返回一个列表,该列表是可排序的。 你还可以用 items()方法得到包含键、值对的元组的列表来排序。
  由于词典本身是哈希的,所以是无序的。
  

何为哈希
  哈希表是一种数据结构:它按照我们所要求的去工作。哈希表中存储的每一条数据,叫做一个值(value),是根据与它相关的一个被称作为键(key)的数据项进行存储的。键和值合在一起被称为键-值 对”(key-value pairs)。 哈希表的算法是获取键,对键执行一个叫做哈希函数的操作,并根据计算的结果,选择在数据结构的某个地址中来存储你的值。任何一个值存储的地址皆取决于它的键。正因为这种随意性,哈希表中的值是没有顺序的。
  
  与表不同的是,词典的元素没有顺序。你不能通过下标引用元素。词典是通过键来引用。



print (dic['tom'])
dic['tom']=30
print (dic)
  
  为词典增加一个新元素



dic["jeffLi"] = 99
print (dic)
  #这里新建一个键,并赋予一个值。
  

词典的循环调用



for key in dic:
print ('key=%s, value=%s' % (key, dic[key]))
  #在循环中,dict的每个键,被提取出来,赋予给key变量。
  
  会有下面的输出



key=lily, value=100
key=sam, value=57
key=tom, value=30
  

其他常用方法



del dict2['name'] # 删除键为“name”的条目
dict2.clear()     # 删除dict2 中所有的条目
del dict2         # 删除整个dict2 字典
dict2.pop('name') # 删除并返回键为“name”的条目
  #del是Python的保留字
  

总结
    #请不要用 dict, list,file, bool, str, input, len 这样的内建类型为变量命名。重载dict()会给你带来麻烦和潜在的bugs
      #词典的每个元素是键值对。元素没有顺序。
  

感谢及资源共享
       DSC0000.jpg
      路上走来一步一个脚印,希望大家和我一起。
  感谢读者!很喜欢你们给我的支持。如果支持,点个赞。
  知识来源: http://book.douban.com/doulist/3870144/

运维网声明 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-60525-1-1.html 上篇帖子: 黄聪:在windows下安装配置python开发环境及Ulipad开发工具(转) 下篇帖子: python语法32[闭包]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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