在Python的数据结构类型中,除了序列数据结构还有一种非常重要的数据结构——映射。字典结构是Python中唯一内建的映射类型。与序列数据结构最大的不同就是字典结构每个字典元素都有键(key)和值(value)两个属性,字典的每个键值对(key=>value)用冒号(:)分隔,每个对之间用逗号(,)分割,整个字典在花括号中({})
d = {key1 : value1 , key2:value2}
字典可以通过顺序的阅读实现对字典元素的遍历,也可以通过对某个字典的元素的键进行搜索从而找到该字典对应的值
字典的基本函数和方法
函数和方法 | 说明 |
dict() | 通过映射或者序列对建立字典 |
clear() | 清楚字典里的所有项 |
pop() | 删除指定的字典元素 |
in() | 判断字典里是否存在指定的元素 |
fromkeys() | 使用指定的键建立新的字典,每个键对应的值默认为None |
get() | 根据指定的键返回对应的值,如果键不存在,返回None |
values() | 以列表的形式返回字典中的值 |
update() | 将两个字典合并 |
copy() | 实现字典的复制,返回一个具有相同键值得新字典 |
(1)dict()
>>>te1 = [('name','Damon'),('sex','man')]
>>>te = dict(te1)
>>>te
{'name':'Damon','sex':'man'}
>>>te['name']
'Damon'
(2)clear()
>>>te = {}
>>>te['name'] = 'Damon'
>>>te['sex'] = 'man'
>>>te
{'name':'Damon','sex':'man'}
>>>tereturn = te.clear()
>>>te
{}
>>>print (tereturn)
None
(3)pop()
clear()方法可以清楚整个字典,当需要在指定位置进行清楚时可以使用pop()方法。
>>>te = {'x' : 1,'y' : 2 , 'z' : 3}
>>>te.pop('y')
2
>>>te
{'x' : 1 , 'z' : 3}
(4)get()
如果直接访问字典中不存在的元素,会提示“keyError”错误,因此可以利用get()方法进行元素值得获取,当字典中不存在该元素时会返回None
>>>te = {'x' : 1 ,'y' : 2 , 'z' : 3}
>>>print (te{'a'})
Traceback (most recent call last):
File '<stdin>',line 1, in <mdule>
KeyError :'a'
>>>print (te.get('a'))
None
(5)values()
values()方法以列表的形式返回字典中的值,与返回值得序列不同的是,返回值的列表中可以包含重复的元素
>>>d = {}
>>>d[1] = 1
>>>d[2] = 2
>>>d[3] = 3
>>>d[4] = 3
>>>d.values()
[1,2,3,3]
(6)update()
update()方法可以将两个字典合并,得到新的字典
>>>te1 = {'name' : '小明' , 'sex' : '男'}
>>>te2 = {'age' : 18 , 'call' : 13000000000}
>>>te1.update(te2)
>>>te1
{'name' : '小明' , 'sex' : '男','age' : 18 , 'call' : 13000000000}
需要注意的是,当两个字典中有相同键值时会进行覆盖
>>>te1 = {'name' : '小明' , 'sex' : '男'}
>>>te2 = {'name' : 'Damon' , 'call' : '1321311213'}
>>>te1.update(te)
>>>te1
{'name' : 'Damon' , 'call' : '1321311213' , 'sex' : '男'}