📜  Python字典复制()

📅  最后修改于: 2022-05-13 01:54:43.486000             🧑  作者: Mango

Python字典复制()

Python Dictionary copy() 方法返回字典的浅表副本

Python字典 copy()语法:

Python字典 copy()参数:

Python字典 copy()返回:

Python字典 copy() 示例:

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

Python字典复制()错误:

As we are not passing any parameters 
there is no chance of any error.

示例 1:使用Python字典 copy()

Python3
# 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)


Python3
# 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)


Python3
# 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'}

示例 2: Python字典 copy() 和更新

Python3

# 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() 不同,赋值运算符执行深度复制。

Python3

# 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:  {}