1.字典的模板
dict1 = {key1:value1,key2:value2,} #key为键,value为值
2.字典的定义方式
1.利用工厂函数dict()
>>>MyDict1 = dict((('A',1),('B',2),('C',3),('D',4)))
2.利用{ }
>>>MyDict2 = {'A':1,'B':2,'C':3,'D':4}
3.字典元素的增加与删除
1.增加元素
i.update()操作方法(此方法也可添加多个元素,用逗号隔开即可!)
update(E=5) #左边若为字符不需加引号
或者
update({‘F’:6}) #小括号()中要加花括号{}
>>> MyDict1 = dict((('A',2),('B',2),('C',3),('D',4)))
>>> MyDict1.update(E=5)
>>> MyDict1
{'A': 2, 'B': 2, 'C': 3, 'D': 4, 'E': 5}
>>> MyDict1.update({'F':6})
>>> MyDict1
{'A': 2, 'B': 2, 'C': 3, 'D': 4, 'E': 5, 'F': 6}
2.删除元素
i.pop(key)操作方法 (此处key为必填项!)
>>> MyDict1
{'A': 2, 'B': 2, 'C': 3, 'D': 4, 'E': 5, 'F': 6}
>>> MyDict1.pop('F')
6
>>> MyDict1
{'A': 2, 'B': 2, 'C': 3, 'D': 4, 'E': 5}
ii.popitem()操作方法
返回并删除字典中的最后一对键和值。
>>> MyDict = {'A': 2, 'B': 2, 'C': 3, 'D': 4, 'E': 5}
>>> MyDict. popitem()
('E', 5)
>>> MyDict.popitem()
('D', 4)
>>> MyDict
{'A': 2, 'B': 2, 'C': 3}
iii.del dict[key]
>>> MyDict1
{'A': 2, 'B': 2, 'C': 3, 'D': 4, 'E': 5}
>>> del MyDict1['E']
>>> MyDict1
{'A': 2, 'B': 2, 'C': 3, 'D': 4}
4.其他操作方法
1.fromkeys()
fromkeys是创造一个新的字典。就是事先造好一个空字典和一个列表,fromkeys会接收两个参数,第一个参数为从外部传入的可迭代对象,会将循环取出元素作为字典的key值,另外一个参数是字典的value值,不写所有的key值所对应的value值均为None,写了则为默认的值
>>> dict1.fromkeys((1,2,3))
{1: None, 2: None, 3: None}
>>> dict1.fromkeys((1,2,3),'number')
{1: 'number', 2: 'number', 3: 'number'}
>>> dict1 = dict1.fromkeys(range(32),'zan')
>>> dict1
{0: 'zan', 1: 'zan', 2: 'zan', 3: 'zan', 4: 'zan', 5: 'zan', 6: 'zan', 7: 'zan', 8: 'zan', 9: 'zan', 10: 'zan', 11: 'zan', 12: 'zan', 13: 'zan', 14: 'zan', 15: 'zan', 16: 'zan', 17: 'zan', 18: 'zan', 19: 'zan', 20: 'zan', 21: 'zan', 22: 'zan', 23: 'zan', 24: 'zan', 25: 'zan', 26: 'zan', 27: 'zan', 28: 'zan', 29: 'zan', 30: 'zan', 31: 'zan'}
2.keys()
以列表返回一个字典所有的键。
>>> MyDict1
{1: 2, 'B': 2, 'C': 3, 'D': 4}
>>> MyDict1.keys()
dict_keys([1, 'B', 'C', 'D'])
3.values()
以列表返回一个字典所有的值。
>>> MyDict1
{1: 2, 'B': 2, 'C': 3, 'D': 4}
>>> MyDict1.values()
dict_values([2, 2, 3, 4])
4.items()
以列表返回可遍历的(键, 值) 元组数组。
>>> MyDict1
{1: 2, 'B': 2, 'C': 3, 'D': 4}
>>> MyDict1.items()
dict_items([(1, 2), ('B', 2), ('C', 3), ('D', 4)])
5.get()
返回指定键的值,如果值不在字典中返回默认值。
>>> MyDict
{'A': 2, 'B': 2, 'C': 3}
>>> MyDict.get('A')
2
6.setdefault(key,value) #value为默认值,可不填
和 get()方法 类似, 如果键不存在于字典中,将会添加键并将值设为默认值。
>>> MyDict
{'A': 2, 'B': 2, 'C': 3}
>>> MyDict.setdefault('D')
>>> MyDict
{'A': 2, 'B': 2, 'C': 3, 'D': None}
>>> MyDict.setdefault('E',5)
5
>>> MyDict
{'A': 2, 'B': 2, 'C': 3, 'D': None, 'E': 5}
7.clear()
删除整个字典
>>> MyDict
{'A': 2, 'B': 2, 'C': 3, 'D': None, 'E': 5}
>>> MyDict.clear()
>>> MyDict
{}
5.字典的拷贝
可以利用字典的copy()方法:dict2 = dict1.copy(),在其他语言转移到Python小伙伴们刚开始可能会习惯性的直接用赋值的方法(dict2 = dict1),这样子做在Python中只是将对象的引用拷贝过去而已。
>>> a = {1:'one', 2:'two', 3:'three'}
>>> b = a.copy()
>>> c = a
>>> c[4] = 'four'
>>> c
{1: 'one', 2: 'two', 3: 'three', 4: 'four'}
>>> a
{1: 'one', 2: 'two', 3: 'three', 4: 'four'}
>>> b
{1: 'one', 2: 'two', 3: 'three'}