Press "Enter" to skip to content

python基础知识3:字典

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

1,字典的创建

>>> 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

2,字典基本操作

>>> e
{'age': 25, 'name': 'zhang3'}
>>> len(e)  #获得“键-值”对的数量
2

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

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

>>> 'name' in e  #判断对应的“键”是否在字典里
True

3,字典的方法

>>> 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()  #返回值的迭代器
Leave a Reply

Your email address will not be published. Required fields are marked *