все Python 3Словари (dict)функция
dict.copy
копирование
Возвращает поверхностную (shallow) копию словаря: вложенные объекты разделяются с оригиналом.
Синтаксис
d.copy()
Тот же результат дают dict(d) и {**d} — все три копируют ровно один уровень и сохраняют порядок вставки. Тонкость с наследованием: если класс унаследован от dict, его copy() вернёт обычный dict, а не ваш подкласс; чтобы сохранить тип, нужен copy.copy() или собственный __copy__.
Примеры
a = {'x': 1}
b = a.copy()
b['y'] = 2
print(a) # → {'x': 1}
print(b) # → {'x': 1, 'y': 2}
import copy
orig = {"a": [1,2], "b": 3}
shallow = orig.copy(); shallow["a"].append(99)
print(orig) # → {'a': [1, 2, 99], 'b': 3} (список общий)
orig2 = {"a": [1,2], "b": 3}
deep = copy.deepcopy(orig2); deep["a"].append(99)
print(orig2) # → {'a': [1, 2], 'b': 3} (оригинал цел)
d = {"x": 1}; d2 = d.copy()
print(d is d2) # → False
d2["y"] = 2; print(d) # → {'x': 1} (d не изменился)
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности