Python字典操作详细介绍及字典内建方法分享
创建
方法一:
>>>dict1={} >>>dict2={'name':'earth','port':80} >>>dict1,dict2 ({},{'port':80,'name':'earth'})
方法二:从Python2.2版本起,可以使用一个工厂方法,传入一个元素是列表的元组作为参数
>>>fdict=dict((['x',1],['y',2])) >>>fdict {'y':2,'x':1}
方法三:
从Python2.3版本起,可以用一个很方便的内建方法fromkeys()来创建一个"默认"字典,字典中元素具有相同的值(如果没有给出,默认为None,这个有点像我框架的oneObject方法):
>>>ddict={}.fromkeys(('x','y'),-1) >>>ddict {'y':-1,'x':-1} >>> >>>edict={}.fromkeys(('foo','bar')) >>>edict {'foo':None,'bar':None}
访问字典中的值
想遍历一个字典(一般用键),你只需要循环查看它的键,像这样:
>>>dict2={'name':'earth','port':80} >>> >>>>forkeyindict2.keys(): ...print'key=%s,value=%s'%(key,dict2[key]) ... key=name,value=earth key=port,value=80
从Python2.2开始,可以直接在for循环里遍历字典。
>>>dict2={'name':'earth','port':80} >>> >>>>forkeyindict2: ...print'key=%s,value=%s'%(key,dict2[key]) ... key=name,value=earth key=port,value=80
想判定其是否存在某个键值对,可以使用has_key()或in、notin操作符
>>>'server'indict2#或dict2.has_key('server') False >>>'name'indict#或dict2.has_key('name') True >>>dict2['name'] 'earth'
一个字典中混用数字和字符串的例子:
>>>dict3={} >>>dict3[1]='abc' >>>dict3['1']=3.14159 >>>dict3[3.2]='xyz' >>>dict3 {3.2:'xyz',1:'abc','1':3.14159}
更新字典
采取覆盖更新
上例中dict2['name']='earth';
更新dict2['name']='abc';
删除字典元素和字典
deldict2['name']#删除键为“name”的条目
dict2.clear()#删除dict2中所有的条目
deldict2#删除整个dict2字典
dict2.pop('name')#删除并返回键为“name”的条目
dict2={'name':'earth','port':80} >>>dict2.keys() ['port','name'] >>> >>>dict2.values() [80,'earth'] >>> >>>dict2.items() [('port',80),('name','earth')] >>> >>>foreachKeyindict2.keys(): ...print'dict2key',eachKey,'hasvalue',dict2[eachKey] ... dict2keyporthasvalue80 dict2keynamehasvalueearth
update()方法可以用来将一个字典的内容添加到另外一个字典中
dict3={'server':'http','port':80,'host':'venus'} >>>dict3.clear() >>>dict3 {}
映射类型相关的函数
>>>dict(x=1,y=2) {'y':2,'x':1} >>>dict8=dict(x=1,y=2) >>>dict8 {'y':2,'x':1} >>>dict9=dict(**dict8) >>>dict9 {'y':2,'x':1} dict9=dict8.copy()
字典内建方法
方法名字 | 操作 |
---|---|
dict.clear() | 删除字典中所有元素 |
dict.copy() | 返回字典(浅复制)的一个副本 |
dict.fromkeysc(seq,val=None) | 创建并返回一个新字典,以seq中的元素做该字典的键,val做该字典中所有键对应的初始值(如果不提供此值,则默认为None) |
dict.get(key,default=None) | 对字典dict中的键key,返回它对应的值value,如果字典中不存在此键,则返回default的值(注意,参数default的默认值为None) |
dict.has_key(key) | 如果键(key)在字典中存在,返回True,否则返回False.在Python2.2版本引入in和notin后,此方法几乎已废弃不用了,但仍提供一个可工作的接口。 |
dict.items() | 返回一个包含字典中(键,值)对元组的列表 |
dict.keys() | 返回一个包含字典中键的列表 |
dict.values() | 返回一个包含字典中所有值的列表 |
dict.iter() | 方法iteritems(),iterkeys(),itervalues()与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表。 |
dict.pop(key[,default]) | 和方法get()相似,如果字典中key键存在,删除并返回dict[key],如果key键不存在,且没有给出default的值,引发KeyError异常。 |
dict.setdefault(key,default=None) | 和方法set()相似,如果字典中不存在key键,由dict[key]=default为它赋值。 |
dict.setdefault(key,default=None) | 和方法set()相似,如果字典中不存在key键,由dict[key]=default为它赋值。 |
总结
以上就是本文关于Python字典操作详细介绍及字典内建方法分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:
python基础练习之几个简单的游戏
Python基础练习之用户登录实现代码分享
Python面向对象编程基础解析(一)
如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。