They copy() method returns a copy (shallow copy) of the dictionary.
Example
original_marks = {'Physics':67, 'Maths':87}
copied_marks = original_marks.copy()
print('Original Marks:', original_marks)
print('Copied Marks:', copied_marks)
# Output: Original Marks: {'Physics': 67, 'Maths': 87}
# Copied Marks: {'Physics': 67, 'Maths': 87}
Syntax of Dictionary copy()
The syntax of copy() is:
dict.copy()
copy() Arguments
The copy() method doesn't take any arguments.
copy() Return Value
This method returns a shallow copy of the dictionary. It doesn't modify the original dictionary.
Example 1: How copy works for dictionaries?
original = {1:'one', 2:'two'}
new = original.copy()
print('Orignal: ', original)
print('New: ', new)
Output
Orignal: {1: 'one', 2: 'two'}
New: {1: 'one', 2: 'two'}
Dictionary copy() Method Vs = Operator
When the copy() method is used, a new dictionary is created which is filled with a copy of the references from the original dictionary.
When the = operator is used, a new reference to the original dictionary is created.
Example 2: Using = Operator to Copy Dictionaries
original = {1:'one', 2:'two'}
new = original
# removing all elements from the list
new.clear()
print('new: ', new)
print('original: ', original)
Output
new: {}
original: {}
Here, when the new dictionary is cleared, the original dictionary is also cleared.
Example 3: Using copy() to Copy Dictionaries
original = {1:'one', 2:'two'}
new = original.copy()
# removing all elements from the list
new.clear()
print('new: ', new)
print('original: ', original)
Output
new: {}
original: {1: 'one', 2: 'two'}
Here, when the new dictionary is cleared, the original dictionary remains unchanged.
Also Read: