详解python中字典的几个方法

创建字典

>>> phonebook={'Alice':'2897','Alan':'0987','Jery':'6754'}

登录后复制

dict函数

>>> items=[('name','Gumby'),('age',42)]>>> d=dict(items)>>> d{'age': 42, 'name': 'Gumby'}>>> d['name']'Gumby'>>> d=dict(name='July',age=24)>>> d{'age': 24, 'name': 'July'}

登录后复制

基本的字典操作(大部分与序列类似)

len(d)返回d中项(键-值对)的数量

d[k]返回关联到键k上的值

立即学习“Python免费学习笔记(深入)”;

d[k]=v将值v关联到k上

del d[k]删除键为k的项

k in d检查d中是否有含有键为k的项

格式化字符串

>>> phonebook{'Jery': '6754', 'Alice': '2897', 'Alan': '0987'}>>> "Alan's phone number is %(Alan)s." % phonebook"Alan's phone number is 0987."

登录后复制

方法:

clear 清除字典中所有的项

>>> d={}>>> d['name']='Gumby'>>> d['age']=42>>> d{'age': 42, 'name': 'Gumby'}>>> d.clear()>>> d{}>>> x={}>>> y=x #x和y对应同一个字典>>> x['key']='value'>>> y{'key': 'value'}>>> x={} #x关联到新的空字典>>> y{'key': 'value'}>>> x={}>>> y=x>>> x['key']='value'>>> y{'key': 'value'}>>> x.clear()>>> y{}

登录后复制

copy 返回一个具有相同键-值对的新字典(浅复制)

>>> x={'name':'admin','machines':['foo','bar','bax']}>>> y=x.copy()>>> y['name']='yhk' #替换值,原字典不受影响>>> y['machines'].remove('bar') #修改了某个值(原地修改不是替换),原字典会改变>>> y{'name': 'yhk', 'machines': ['foo', 'bax']}>>> x{'name': 'admin', 'machines': ['foo', 'bax']}

登录后复制

deepcopy 深复制

>>> from copy import deepcopy>>> d={}>>> d['name']=['Aly','Bob']>>> c=d.copy()>>> e=deepcopy(d)>>> d['name'].append('Ageal')>>> c{'name': ['Aly', 'Bob', 'Ageal']}>>> e{'name': ['Aly', 'Bob']}

登录后复制

fromkeys 使用给定的键建立新的字典,每个键默认的对应的值为none

>>> {}.fromkeys(['name','age']){'age': None, 'name': None}>>> dict.fromkeys(['name','age']){'age': None, 'name': None}>>> dict.fromkeys(['name','age'],'(unknown)'){'age': '(unknown)', 'name': '(unknown)'}

登录后复制

 get 访问字典项

>>> d={}>>> print d['name']Traceback (most recent call last):  File "", line 1, in     print d['name']KeyError: 'name'>>> print d.get('name')None>>> d.get('name','N/A')'N/A'>>> d['name']='Eric'>>> d.get('name')'Eric'

登录后复制

has_key 检查字典中是否有给出的键(python3.0没有这个函数)

>>> d={}>>> d.has_key('name')False>>> d['name']='Eric'>>> d.has_key('name')True

登录后复制

items和iteritems 

items将所有的字典项以列表方式返回,这些列表项中的每一项都来自于(键,值)

iteritems返回一个迭代器对象

>>> d={'title':'My Time!','url':'http://www,python.org','spam':0}>>> d.items()[('url', 'http://www,python.org'), ('spam', 0), ('title', 'My Time!')]>>> s=d.iteritems()>>> s>>> list(s)[('url', 'http://www,python.org'), ('spam', 0), ('title', 'My Time!')]

登录后复制

keys和iterkeys keys将字典中的键以列表形式返回 iterkeys返回针对键的迭代器

pop 移除

>>> d={'x':1,'y':2}>>> d.pop('x')>>> d{'y': 2}

登录后复制

 popitem 移除随机的项

>>> d={'x':1,'y':2}>>> d.popitem()('y', 2)>>> d{'x': 1}

登录后复制

setdefault 当键不存在时,返回默认值并更新相应字典

>>> d={}>>> d.setdefault('name','N/A')'N/A'>>> d{'name': 'N/A'}>>> d['name']='Gumby'>>> d.setdefault('name','N/A')'Gumby'>>> d{'name': 'Gumby'}

登录后复制

update 利用一个字典项更新另外一个字典

>>> d={'x':1,'y':2,'z':3}>>> f={'y':5}>>> d.update(f)>>> d{'y': 5, 'x': 1, 'z': 3}

登录后复制

values和itervalues  alues返回字典中的值(itervalues返回值的迭代器)

>>> d={}>>> d[1]=1>>> d[2]=2>>> d[3]=3>>> d.values()[1, 2, 3]

登录后复制

以上就是详解python中字典的几个方法的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2277623.html

(0)
上一篇 2025年2月27日 16:11:39
下一篇 2025年2月26日 17:44:51

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论