创建字典
1.创建空字典:
使用大括号:
dict1 = {}
使用dict函数:
dict1 = dict()
2.创建时传入内容:
使用大括号:
dict1 = {'a': 'a', 'b': 'b', 't': 't'}
使用dict函数(键必须是字符串):
dict1 = dict(a='a', b='b', t='t')
使用二元组列表:
list1 = [('spam', 1), ('egg', 2), ('bar', 3)]
dict1 = dict(list1)
字典的复制
1. 直接赋值:dict2 = dict1
dict2和dict1引用同一个对象, 对于所有更改,dict2和dict1都是同步的。
>>> dict1 = {'a': 1, 'b':2, 'c':[1, 2]}
>>> dict2 = dict1
>>> dict1['a'] = 2
>>> dict2
{'a': 2, 'b': 2, 'c': [1, 2]}
2. 浅拷贝:dict2 = dict1.copy()
dict2拷贝了dict1的一级目录,但是对于二级以上目录,仍然是直接引用。
>>> dict1 = {'a': 1, 'b':2, 'c':[1, 2]}
>>> dict2 = dict1.copy()
>>> dict1['a'] = 2
>>> dict1['c'].append = 3
>>> dict2
{'a': 1, 'b': 2, 'c': [1, 2, 3]}
3.深拷贝(需要引用copy模块):dict2 = copy.deepcopy(dict1)
dict2完全拷贝了dict1的所有目录。dict2和dict1完全独立。
>>> dict1 = {'a': 1, 'b':2, 'c':[1, 2]}
>>> dict2 = dict1.copy()
>>> dict1['a'] = 2
>>> dict1['c'].append = 3
>>> dict2
{'a': 1, 'b': 2, 'c': [1, 2]}