Python字典 基础知识

创建字典

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

猜你喜欢

转载自blog.csdn.net/weixin_43089866/article/details/82180011
今日推荐