浅复制 d2=d.copy() 深复制(deepcopy):deepcopy函数
6.clear:清除所有元素
7.浅复制(shallow copy)copy函数:
d={'name':'verter',age:20,friends:['ali','qq','baidu']}
d2=d.copy()
d2['name']='smith' #用新的值替换原来的值
d2['friends'].remove('qq') #修改原来的值
=>d2
=>{'name':'smith',age:20,friends:['ali','baidu']}
=>d
=>{'name':'verter',age:20,friends:['ali','baidu']}
可以看到,在副本中替换值不会影响到原始字典;而如果修改了副本,原始字典也会被修改。
如果要避免这种情况就需要用到深复制:deepcopy
8.深复制(deepcopy):deepcopy函数
>>> d={'name':'verter','age':20,'friends':['ali','qq','baidu']}
>>> d
{'age': 20, 'friends': ['ali', 'qq', 'baidu'], 'name': 'verter'}
>>> d2=d.copy()
>>> d2
{'age': 20, 'friends': ['ali', 'qq', 'baidu'], 'name': 'verter'}
>>> d2['name']='smith'
>>> d2
{'age': 20, 'friends': ['ali', 'qq', 'baidu'], 'name': 'smith'}
>>> d
{'age': 20, 'friends': ['ali', 'qq', 'baidu'], 'name': 'verter'}
>>> d2
{'age': 20, 'friends': ['ali', 'qq', 'baidu'], 'name': 'smith'}
>>> d2['friends'].remove('qq')
>>> d2
{'age': 20, 'friends': ['ali', 'baidu'], 'name': 'smith'}
>>> d1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'd1' is not defined
>>> d
{'age': 20, 'friends': ['ali', 'baidu'], 'name': 'verter'}
>>>

 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号