python基础知识3:字典

字典使用大括号{ }来表示
字典中的“键”和“值”存在对应的映射关系,“键” 是唯一的,“值”并不唯一

1,字典的创建
[code]
>>> c={ } #第1种创建方法
>>> c[‘name’]=’zhang3′
>>> c[‘age’]=25

>>> items=[(‘name’,’zhang3′),(‘age’,25)] #第2种创建方法(使用列表/元组创建)
>>> d=dict(items) #使用dict()函数创建元组

>>> e=dict(name=’zhang3′,age=25) #第3种方法,通过参数创建
>>> e
{‘age’: 25, ‘name’: ‘li4’}

>>> e={}.fromkeys([‘name’,’age’],’unknown’) #第4种方法,通过fromkeys()方法创建
>>> e
{‘age’: ‘unknown’, ‘name’: ‘unknown’} #所有“键”的值均为unknown
[/code]

2,字典基本操作
[code]
>>> e
{‘age’: 25, ‘name’: ‘zhang3’}
>>> len(e) #获得“键-值”对的数量
2

>>> e[‘name’] #获得对应“键”的值(如果不存在此键则报错)
‘zhang3’

>>> e[‘name’]=’li4′ #修改对应“键”的值
>>> e
{‘age’: 25, ‘name’: ‘li4’}

>>> ‘name’ in e #判断对应的“键”是否在字典里
True
[/code]

3,字典的方法
[code]
>>> c.clear() #清除字典中所有的项

>>> d=c.copy() #浅复制,如果y的值改变,则x也会改变
>>> d=deepcopy(c) #深复制,如果y的值改变,x不会改变

>>> d.get(‘name’) #获得“键”对应的值,如果“键”不存在,则返回None
>>> d.has_key(‘name’) #返回True或者False
>>> d.pop(‘name’) #获得对应“键”的值并它们从字典中移除

>>> d.setdefault(‘name’,’zhang3′)
#如果name存在,则返回其值(不会改变原有值)
#如果name不存在,则插入name键,其值为zhang3,并返回其值

>>> d.update(e) #将字典e的项更新到d中,若有相同的键将覆盖

>>> d.items() #返回[(键1,值1),(键2,值2),(键3,值3)]形式的列表
>>> d.iteritems() #返回如上形式的迭代器

>>> d.keys() #返回“键”的列表
>>> d.iterkeys() #返回“键”的迭代器

>>> d.values() #返回值的列表
>>> d.itervalues() #返回值的迭代器
[/code]

发表评论

电子邮件地址不会被公开。