lazybios

如何在python中拷贝一个对象

对于一般案例可以用copy.copy或者copy.deepcopy,但并不是所有对象可以被拷贝。

import copy
newobj = copy.copy(oldobj)
newobj = copy.deepcopy(oldobj) #递归copy

一些对象有自己到copy方法,比如字典类型有copy方法:
newobj = olddict.copy()

序列可以通过切片来复制:
new_list = L[:]

也可以使用list,tuple,dict,set函数拷贝对应类型对象,或相互之间进行类型间的转换

#copy
new_list = list(L) 
new_dict = dict(olddict)
#covert
new_set = set(L) #list to set
new_tuple = tuple(L) #list to tuple

原文链接

微信关注「日拱一卒」公众号