Используйте copy.copy или copy.deepcopy для большинства объектов, но не всех.
import copy newobj = copy.copy(oldobj) # неполная копия newobj = copy.deepcopy(oldobj) # полная (рекурсивная) копия
Неполное копирование строит новый составной объект, а затем ( по мере возможности ) вставляет ссылки в него на объекты оригинала.
Глубокое копирование строит новый составной объект, а затем рекурсивно, вставляет копии объектов оригинала в него.
Некоторые объекты могут быть скопированы проще. Так словари (dictionary) имеют метод copy:
newdict = olddict.copy()
Последовательности (sequence) могут быть скопированы через срезы (slice):
new_list = L[:]Можно также использовать функции list, tuple, dict, set для копирования соответствующих объектов, также и для преобразования между различными типами последовательности:
new_list = list(L) # копирование new_dict = dict(olddict) # копирование new_set = set(L) # конвертирование list в set new_tuple = tuple(L) # конвертирование list в tupleОригинал
Комментариев нет:
Отправить комментарий