本文实例讲述了Python字典及字典基本 *** 作方法。分享给大家供大家参考,具体如下:
字典是一种通过名字或者关键字引用的得数据结构,其键可以是数字、字符串、元组,这种结构类型也称之为映射。字典类型是Python中唯一冉ǖ挠成淅嘈停镜牟僮靼ㄈ缦拢
(1)len()
:返回字典中键―值对的数量;
(2)d[k]
:返回关键字对于的值;
(3)d[k]=v
:将值关联到键值k上;
(4)del d[k]
:删除键值为k的项;
(5)key in d
:键值key是否在d中,是返回True,否则返回False。
一、字典的创建
1.1 直接创建字典
@H_301_29@d={'one':1,'two':2,'three':3}print dprint d['two']print d['three']运算结果:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py======={'three': 3,'two': 2,'one': 1}23>>>1.2 通过dict创建字典
@H_301_29@# _*_ Coding:utf-8 _*_items=[('one',1),('two',2),('three',3),('four',4)]print u'items中的内容:'print itemsprint u'利用dict创建字典,输出字典内容:'d=dict(items)print dprint u'查询字典中的内容:'print d['one']print d['three']运算结果:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======items中的内容:[('one',4)]利用dict创建字典,输出字典内容:{'four': 4,'three': 3,'one': 1}查询字典中的内容:13>>>或者通过关键字创建字典
@H_301_29@# _*_ Coding:utf-8 _*_d=dict(one=1,two=2,three=3)print u'输出字典内容:'print dprint u'查询字典中的内容:'print d['one']print d['three']运算结果:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======输出字典内容:{'three': 3,'one': 1}查询字典中的内容:13>>>二、字典的格式化字符串
@H_301_29@# _*_ Coding:utf-8 _*_d={'one':1,'three':3,'four':4}print dprint "three is %(three)s." %d运算结果:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py======={'four': 4,'one': 1}three is 3.>>>三、字典方法
3.1 clear函数:清除字典中的所有项
@H_301_29@# _*_ Coding:utf-8 _*_d={'one':1,'four':4}print dd.clear()print d运算结果:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py======={'four': 4,'one': 1}{}>>>请看下面两个例子
3.1.1
运算结果:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py======={'two': 2,'one': 1}{}{'two': 2,'one': 1}>>>3.1.2
@H_301_29@# _*_ Coding:utf-8 _*_d={}dd=dd['one']=1d['two']=2print ddd.clear()print dprint dd运算结果:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py======={'two': 2,'one': 1}{}{}>>>3.1.2与3.1.1唯一不同的是在对字典d的清空处理上,3.1.1将d关联到一个新的空字典上,这种方式对字典dd是没有影响的,所以在字典d被置空后,字典dd里面的值仍旧没有变化。但是在3.1.2中clear方法清空字典d中的内容,clear是一个原地 *** 作的方法,使得d中的内容全部被置空,这样dd所指向的空间也被置空。
3.2 copy函数:返回一个具有相同键值的新字典
@H_301_29@# _*_ Coding:utf-8 _*_x={'one':1,'test':['a','b','c']}print u'初始X字典:'print xprint u'X复制到Y:'y=x.copy()print u'Y字典:'print yy['three']=33print u'修改Y中的值,观察输出:'print yprint xprint u'删除Y中的值,观察输出'y['test'].remove('c')print yprint x运算结果:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======初始X字典:{'test': ['a','c'],'one': 1}X复制到Y:Y字典:{'test': ['a','one': 1,'two': 2}修改Y中的值,观察输出:{'test': ['a','three': 33,'two': 2}{'test': ['a','one': 1}删除Y中的值,观察输出{'test': ['a','b'],'one': 1}>>>注:在复制的副本中对值进行替换后,对原来的字典不产生影响,但是如果修改了副本,原始的字典也会被修改。deepcopy
函数使用深复制,复制其包含所有的值,这个方法可以解决由于副本修改而使原始字典也变化的问题。
运算输出:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======输出:{'test': ['a','d']}{'test': ['a','d']}修改后输出:{'test': ['a','d','e']}{'test': ['a','d']}>>>3.3 fromkeys函数:使用给定的键建立新的字典,键默认对应的值为None
@H_301_29@# _*_ Coding:utf-8 _*_d=dict.fromkeys(['one','two','three'])print d运算输出:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py======={'three': None,'two': None,'one': None}>>>或者指定默认的对应值
@H_301_29@# _*_ Coding:utf-8 _*_d=dict.fromkeys(['one','three'],'unkNow')print d运算结果:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py======={'three': 'unkNow','two': 'unkNow','one': 'unkNow'}>>>3.4 get函数:访问字典成员
@H_301_29@# _*_ Coding:utf-8 _*_d={'one':1,'three':3}print dprint d.get('one')print d.get('four')运算结果:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py======={'three': 3,'one': 1}1None>>>注:get函数可以访问字典中不存在的键,当该键不存在是返回None
3.5 has_key函数:检查字典中是否含有给出的键
@H_301_29@# _*_ Coding:utf-8 _*_d={'one':1,'three':3}print dprint d.has_key('one')print d.has_key('four')运算结果:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py======={'three': 3,'one': 1}TrueFalse>>>3.6 items和iteritems函数:items将所有的字典项以列表方式返回,列表中项来自(键,值),iteritems与items作用相似,但是返回的是一个迭代器对象而不是列表
@H_301_29@# _*_ Coding:utf-8 _*_d={'one':1,'three':3}print dList=d.items()for key,value in List: print key,':',value运算结果:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py======={'three': 3,'one': 1}three : 3two : 2one : 1>>>@H_301_29@# _*_ Coding:utf-8 _*_d={'one':1,'three':3}print dit=d.iteritems()for k,v in it: print "d[%s]="%k,v运算结果:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py======={'three': 3,'one': 1}d[three]= 3d[two]= 2d[one]= 1>>>3.7 keys和iterkeys:keys将字典中的键以列表形式返回,iterkeys返回键的迭代器
@H_301_29@# _*_ Coding:utf-8 _*_d={'one':1,'three':3}print dprint u'keys方法:'List=d.keys()print Listprint u'\niterkeys方法:'it=d.iterkeys()for x in it: print x运算结果:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py======={'three': 3,'one': 1}keys方法:['three','one']iterkeys方法:threetwoone>>>3.8 pop函数:删除字典中对应的键
@H_301_29@# _*_ Coding:utf-8 _*_d={'one':1,'three':3}print dd.pop('one')print d运算结果:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py======={'three': 3,'one': 1}{'three': 3,'two': 2}>>>3.9 popitem函数:移出字典中的项
@H_301_29@# _*_ Coding:utf-8 _*_d={'one':1,'three':3}print dd.popitem()print d运算结果:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py======={'three': 3,'one': 1}{'two': 2,'one': 1}>>>3.10 setdefault函数:类似于get方法,获取与给定键相关联的值,也可以在字典中不包含给定键的情况下设定相应的键值
@H_301_29@# _*_ Coding:utf-8 _*_d={'one':1,'three':3}print dprint d.setdefault('one',1)print d.setdefault('four',4)print d运算结果:
@H_301_29@{'three': 3,'one': 1}14{'four': 4,'one': 1}>>>3.11 update函数:用一个字典更新另外一个字典
@H_301_29@# _*_ Coding:utf-8 _*_d={ 'one':123,'three':3 }print dx={'one':1}d.update(x)print d运算结果:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py======={'three': 3,'one': 123}{'three': 3,'one': 1}>>>3.12 values和itervalues函数:values以列表的形式返回字典中的值,itervalues返回值得迭代器,由于在字典中值不是唯一的,所以列表中可以包含重复的元素
@H_301_29@# _*_ Coding:utf-8 _*_d={ 'one':123,'test':2 }print d.values()运算结果:
@H_301_29@=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======[2,3,2,123]>>>更多关于Python相关内容感兴趣的读者可查看本站专题:《Python字典 *** 作技巧汇总》、《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码 *** 作技巧总结》、《Python函数使用技巧总结》、《Python字符串 *** 作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
您可能感兴趣的文章:Python 字典(Dictionary) *** 作详解python两种遍历字典(dict)的方法比较python提取字典key列表的方法python通过字典dict判断指定键值是否存在的方法Python中字典创建、遍历、添加等实用 *** 作技巧合集python中将字典转换成其json字符串Python中实现两个字典(dict)合并的方法Python字符串、元组、列表、字典互相转换的方法python实现从字典中删除元素的方法python 字典(dict)按键和值排序 总结以上是内存溢出为你收集整理的Python字典及字典基本 *** 作方法详解全部内容,希望文章能够帮你解决Python字典及字典基本 *** 作方法详解所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)