字典(dict)与列表(list)和集合(set)一样,是可变的数据类型。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中
键是唯一的,值可以不唯一
如:字符串、数字、元组
>>> dict0 = dict(a = 0);dict0
{'a': 0}
创建
- 空字典的创建:
>>> empty_dict = dict()
>>> empty_dict
{}
>>> type(empty_dict)
<class 'dict'>
- 其他字典的创建:
1.通过关键字dict和关键字参数创建
>>> dict1 = dict(a = 1,b = 2,c = 3);dict1
{'a': 1, 'c': 3, 'b': 2}
2.通过二元组列表创建
>>> dict2 = [('a',1),('b',2),('c',3)]
>>> dict(dict2)
{'a': 1, 'c': 3, 'b': 2}
>>> dict2
[('a', 1), ('b', 2), ('c', 3)]
3.dict和zip结合创建
>>> dict3 = zip('abc',[1,2,3])
>>> dict(dict3)
{'a': 1, 'c': 3, 'b': 2}
>>> dict3
<zip object at 0x0000025101B61DC8>
4.通过fromkeys()创建
>>> dict4 = dict.fromkeys(range(3),'a');dict4
{0: 'a', 1: 'a', 2: 'a'}
浅复制(copy)
语法:
D.copy()
返回一个字典的浅复制
>>> dict1 = dict(a = 1,b = 2,c = 3)
>>> dict2 = dict1.copy()
>>> dict2
{'c': 3, 'b': 2, 'a': 1}
得到键值(get)
语法:
D.get(k[,d])
返回指定键的值,如果值不在字典中返回d值
>>> dict1
{'c': 3, 'b': 2, 'a': 1}
>>> dict1.get('b')
2
>>> dict1.get('d',0)
0
遍历(item)
语法:
D.items()
以列表返回可遍历的(键, 值) 元组数组
>>> dict1
{'c': 3, 'b': 2, 'a': 1}
>>> dict1.items()
dict_items([('c', 3), ('b', 2), ('a', 1)])
返回所有键/值(keys/values)
语法:
D.keys()
D.values()
以列表返回一个字典所有的键/值
>>> dict1.keys()
dict_keys(['c', 'b', 'a'])
>>> dict1.values()
dict_values([3, 2, 1])
得到键值2(setdefault)
语法:
D.setdefault(k[,d])
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
>>> dict1
{'c': 3, 'b': 2, 'a': 1}
>>> dict1.setdefault('c')
3
>>> dict1.setdefault('d')
>>> dict1
{'c': 3, 'd': None, 'b': 2, 'a': 1}
更新(update)
语法:
D.update([E, ]**F)
把另一个字典的键/值更新到原字典中
>>> dict2 = dict(d = 4)
>>> dict1.update(dict2)
>>> dict1
{'c': 3, 'd': 4, 'b': 2, 'a': 1}
弹出(pop)
语法:
D.pop(k[,d])
删除字典给定键 k 所对应的值,返回值为被删除的值。(k值必须给出)
否则,返回d的值。
>>> dict1
{'c': 3, 'd': 4, 'b': 2, 'a': 1}
>>> dict1.pop('e',5)
5
>>> dict1.pop('d')
4
>>> dict1
{'c': 3, 'b': 2, 'a': 1}
随机删除(popitem)
语法:
D.popitem()
随机返回并删除字典中的一对键和值。
>>> dict1
{'c': 3, 'b': 2, 'a': 1}
>>> dict1.popitem()
('c', 3)
>>> dict1
{'b': 2, 'a': 1}
清空(clear)
语法:
D.clear()
删除字典内所有元素
>>> dict1.clear()
>>> dict1
{}