资源描述:
《python 字典相关操作.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Python中的一种数据结构——字典(Dictionary)的使用方法总结。一、dictionary数据类型的结构是:{key1:value1,key2:value2,...},即键值对。字典的健必须是不可更改的类型,如字符串、数字、元祖等;而值则可以是任意的数据类型,而且同一个字典当中可以混用数据类型,如:?1d={'a':1,'b':[1,2,3],'c':('hello','world')}字典的key不可以重复。需要注意的一点是:字典是一个无序存储结构。二、新建字典新建一个空字典,例:d={}新建一个非空字典,例:d={
2、'a':'hello','b':'world'}使用工厂函数dict,传入一个元素是列表的元祖作为参数来创建字典,例:?12d=dict((['a','hello'],['b','world']))#返回{'a':'hello','b':'world'}还有一种使用dict函数创建字典的方法,例:d=dict(x=1,y=2),返回d为{'x':1,'y':2}使用字典对象本身的fromkeys(s,[v])方法来创建一个字典,字典的健来自参数s,所有的值均为参数v的值,若参数v未给出则默认均为None,例:?12d={}.fr
3、omkeys(('a','b'),1)#返回{'a':1,'b':1}三、访问字典1.通过健来访问值,例:d[key]。可以通过key来引用value,但不可以通过value来引用key。读取不存在的key会引发异常,对不存在的key做赋值操作则会为字典增加一对键值。2.遍历字典:forkeyind.keys()或者可以直接forkeyind来操作。3.d.keys()——返回一个包含所有键的list,需要注意该list并不按照字典定义的顺序输出。4.d.values()——返回一个包含所有值的list,值列表的元素顺序与键列表
4、的顺序一致。5.d.items()——返回一个list,该list由形如(key,value)的tuple组成。1.d.copy——得到字典的一个浅拷贝。2.d.get(key)——若字典中有key则返回d[key],否则返回None。3.d.get(key,default)——同上,若无则返回default的值。4.d.has_key(key)——判断是否含有key,含有则返回True,否则False。5.判断字典中是否存在某个键,还可以用"in","notin"操作符。四、字典的增删改1.增加字典元素——d['a']='he
5、llo'。2.删除字典元素——deld['a']或者d.pop('a')。3.清空字典元素——d.clear()从一个字典中清除所有元素。4.删除字典对象——deld5.把字典a的元素加入到字典d当中,键重复时会覆盖字典d的键值——d.update(a)。6.依顺序得到字典的一个键值对并删除,若字典是空的则抛出异常——d.popitem()7.删除指定键的键值对,并返回该键对应的值,若键不存在则返回参数v——d.pop(key,[v])增加字典元素>>>nameinfo={}>>>nameinfo['a1']='yangrong
6、' #若字典里有a1主键,则覆盖原来的值,没有,则添加>>>nameinfo{'a1':'yangrong'} 遍历字典主键与键值>>>fork,valueinnameinfo.items():... printk,value...a1yangrong 查看字典所有主键>>>dict={'ob1':'computer','ob2':'mouse','ob3':'printer'} >>>>>>>>>dict.keys()['ob2','ob3','ob1'] 判断字典中是否有该主键>>>dict.keys()['ob2','ob
7、3','ob1']>>>dict.has_key('ob2') #或'ob2'indictTrue>>>dict.has_key('ob4')False 也有人用循环方法来判断forkeyindict.keys():但是这种方法毕竟不够简洁,查看字典所有键值内容>>>dict={'ob1':'computer','ob2':'mouse','ob3':'printer'}>>>dict.values()['mouse','printer','computer'] 列出所有项目>>>dict.items()[('ob2','m
8、ouse'),('ob3','printer'),('ob1','computer')] 清空字典>>>dict.clear()>>>dict{} 拷贝字典>>>dict{'ob2':'mouse','ob3':'printer','ob1':'computer