Open In App

Python Dictionary copy()

Last Updated : 08 Jul, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Python Dictionary copy() method returns a shallow copy of the dictionary. let’s see the Python Dictionary copy() method with examples:

 Examples

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

Syntax of copy() method

Syntax:  dict.copy() 

Return:  This method doesn’t modify the original, dictionary just returns copy of the dictionary.

Python Dictionary copy() Error: 

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

Example 1: Examples of Python Dictionary copy()

Python program to demonstrate the working of dictionary copy.

Python3




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)


Output: 

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

Example 2: Python Dictionary copy() and update

Python program to demonstrate the working of dictionary copy. i.e. Updating dict2 elements and checking the change in dict1.

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)


Output:

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

Difference between shallow copy and deep copy

It means that any changes made to a copy of the object do not reflect in the original object. In python, this is implemented using “deepcopy()” function. whereas in shallow copy any changes made to a copy of an object do reflect in the original object. In python, this is implemented using the “copy()” function.

Example 1: Using copy()

Unlike copy(), the assignment operator does deep 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)


Output: 

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

Example 2: Using copy.deepcopy

Unlike deepcopy(), the assignment operator does deep copy. 

Python3




import copy
 
# Python program to demonstrate difference
# between = and copy()
original = {1: 'geeks', 2: 'for'}
 
# copying using copy() function
new = copy.deepcopy(original)
 
# 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)


Output: 

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


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads