You are currently viewing Python словаря copy()

Python словаря copy()

Метод копирования copy() словаря Python возвращает a мелкая копия из словаря.

copy() словаря Python синтаксис: 

dict.copy()

Параметры copy() словаря Python: 

The copy() method doesn’t take any parameters.

Функция копирования словаря Python() возвращает: 

Этот метод не изменяет оригинал, словарь просто возвращает копию словаря.

Примеры копирования словаря Python() :

Input : original = {1:'geeks', 2:'for'}
 new = original.copy()
Output : original: {1: 'one', 2: 'two'}
 new: {1: 'one', 2: 'two'}

Копия словаря Python copy():

Поскольку мы не передаем никаких параметров, нет никаких шансов на какую-либо ошибку.

Пример 1: Работа с копия словаря Python copy()

# Python program to demonstrate working
# of dictionary copy
original = {1: 'geeks', 2: 'for'}

# copying using copy() function
new = original.copy()

# removing all elements from the list
# Only new list becomes empty as copy()
# does shallow copy.
new.clear()

print('new: ', new)
print('original: ', original)

Выход:

new: {}
original: {1: 'geeks', 2: 'for'}

Пример 2: Копирование словаря Python copy() и обновление

# given dictionary
dict1 = {10: 'a', 20: [1, 2, 3], 30: 'c'}
print("Given Dictionary:", dict1)

# new dictionary and
# copying using copy() method
dict2 = dict1.copy()
print("New copy:", dict2)

# Updating dict2 elements and
# checking the change in dict1
dict2[10] = 10
dict2[20][2] = '45' # list item updated

print("Updated copy:", dict2)

Выход:

Given Dictionary: {10: 'a', 20: [1, 2, 3], 30: 'c'}
New copy: {10: 'a', 20: [1, 2, 3], 30: 'c'}
Updated copy: {10: 10, 20: [1, 2, '45'], 30: 'c'}

Чем это отличается от простого присвоения “=”? 

В отличие от функции copy(), оператор присваивания выполняет глубокое копирование.

# Python program to demonstrate difference
# between = and copy()
original = {1: 'geeks', 2: 'for'}

# copying using copy() function
new = original.copy()

# removing all elements from new list
# and printing both
new.clear()
print('new: ', new)
print('original: ', original)

original = {1: 'one', 2: 'two'}

# copying using =
new = original

# removing all elements from new list
# and printing both
new.clear()
print('new: ', new)
print('original: ', original)

Выход:

new: {}
original: {1: 'geeks', 2: 'for'}
new: {}
original: {}