任务
想拷贝某对象。不过,当你对一个对象赋值,将其作为参数传递,或者作为结果返回时,Python 通常会使用指向原对象的引用,并不是真正的拷贝。
解决方案
Python 标准库的 copy 模块提供了两个函数来创建拷贝。第一个常用的函数叫做 copy,它会返回一个具有同样的内容和属性的对象:
import copy
new_list = copy.copy(existing_list)
某些特殊的时候,你可能会需要对象中的属性和内容被分别地和递归地拷贝,可以使用 deepcopy :
import copy
new_list_of_dicts = copy