python 深浅拷贝

拷贝

python为这种需求提供了copy模块。提供了两种主要的copy方法,一种是普通的copy,另一种是deepcopy。

浅拷贝:不管多么复杂的数据结构,浅拷贝都只会copy一层

import copy
  
n1 = {"k1": "wu", "k2": 123, "k3": ["aaa", 456]}
  
n3 = copy.copy(n1)
n3['k3'].append(123)  

浅拷贝n3对k3的修改后,n1的k3页会被修改

深拷贝,在内存中将所有的数据重新创建一份

 

import copy
  
n1 = {"k1": "wu", "k2": 123, "k3": ["aaa", 456]}
  
n4 = copy.deepcopy(n1)
n4['k3'].append(123) 

 n4的修改不会对n1造成影响

posted @ 2017-12-09 16:18  年少倾负  阅读(70)  评论(0编辑  收藏  举报