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

[经验分享] Python学习总结之四

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-29 08:58:44 | 显示全部楼层 |阅读模式
  字典原来是这么回事儿


  Python学习到现在,我们已经知道,如果想将值分组到结构中,并且通过编号对其进行引用,列表就可以派上用场。不过,今天,我们将学到一种通过名字引用值的数据结构,应该知道这种数据类型叫做映射。字典则是Python中唯一内建的映射类型,那么我们就来学习字典。

认识字典
  字典是可变的,并且可以存储任意数量的Python对象。下面这个例子就是简单的字典类型:



1 phonebook={'zhangsan':'12345','lisi':'54321'}
2 print phonebook
  
  
  字典由多个键及与其对应的值构成的对组成(我们也把键/值对称为项)。字典中包括很多键,每一个键对应一个值。键在字典中是唯一的,但是值不是唯一的。在上例中,名字是键,电话号码是值。每个键和它的值之间用冒号(:)隔开,项之间用逗号(,)隔开,而整个字典用大括号括起来。空字典(不包含任何项)由两个大括号组成,像这样:{}。
  dict函数:我们可以调用dict函数对其他映射(比如其他字典)或者(键,值)这样的序列或者关键字参数来创建字典。





1 item=[('name','BaiYiShaoNian'),('age','23')]
2 d=dict(item)
3 print d
  


DSC0000.png
  基本操作
  len(d) : 返回字典d中项(键-值对)的数量
  d[k] : 返回字典d中键k对应的值
  d[k]=v :将值v关联到字典d的键k上
  del d[k] :删除键k的项
  k in d : 检查键k是否存在于字典d中
  



1 d={'name':'BaiYiShaoNian','age':'23','from':'ChongQing','nowAdd':'Jilin'}
2 print len(d)
3 print d['name']
4 d['name']='huangSir'
5 print d
6 del d['age']
7 print d
8 print 'from' in d
9 print 'age' in d
  
DSC0001.png
  
  小结:在字典中检查键的成员资格比在列表中检查值的成员资格更加高效,数据规模越大,两者的查询效率差别就越大。
  字典格式化字符串:我在字符串一篇中有讲到字符串的格式化方法,这里,又出现字典格式化字符串了。想想有什么相同之处和不同之处呢,你是不是应该试着思考一下?(提示:字典是以映射的方式存在的)



1 d={'name':'BaiYiShaoNian','age':'23','from':'ChongQing'}
2 print 'introduce yourself'
3 print 'My name is %(name)s , I\'m %(age)s years old , I\'m from %(from)s .' % d
  
DSC0002.png
  字典方法
  clear:清除字典中所有的项,无返回值。(通过下面两个例子感受clear方法的特点在哪里)
   DSC0003.png
  
DSC0004.png
  copy:返回一个具有相同键-值对的新字典(浅复制)
  deepcopy:深复制
  



1 d={'zhangsan':['789','123'],'lisi':'12313'}
2 d2=d.copy()
3 d['zhangsan'].append('999')
4 print d
5 print d2
6
7 from copy import deepcopy
8 d={'zhangsan':['789','123'],'lisi':'12313'}
9 d3=deepcopy(d)
10 d['zhangsan'].append('999')
11 print d
12 print d3
  
DSC0005.png
  
  fromkeys:使用给定的键建立新的字典,每个键默认对应的值为None。
  get:一个更宽松的访问字典的方法。
  一般来说,如果正常访问字典中不存在的键的话会出错,那么使用get方法就不会报错,它返回的是None。
  has_key:检查字典中是否含有给出的键。表达式d.has_key(k)相当于k in d。
  itemsiteritems:items将字典项以列表的形式返回,iteritems和items作用相同,但是它返回的是一个迭代器对象而不是列表。
  keysiterkeys:keys方法将字典中的键以列表形式返回,iterkeys方法将字典中的值以列表返回
  pop:获得对应于给定键的值,并将这个键-值对从字典中移除
  valuesitervalues:和keys、iterkeys相对应,values方法以列表的形式返回字典中的值(itervalues返回值的迭代器)
  
  总结:目前为止,我们已经学习到了Python中字符串、元组、列表、字典的基本知识了,接下来应该怎么学呢?if 和 while语句吗?我觉得这些循环语句可以在今后的Python例子中自然的就学到了。所以,接下来,我决定继续学习Python的高级编程和爬虫的知识了。
  加油!BaiYiShaoNian。

运维网声明 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-144782-1-1.html 上篇帖子: 【实用】如何将sublime text 3 打造成实用的python IDE 环境 下篇帖子: Python学习 —— 阶段综合练习二
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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