Python: Create a deep copy of a given dictionary
Python module: Exercise-4 with Solution
Write a Python program to create a deep copy of a given dictionary. Use copy.copy
Sample Solution:
Python Code:
import copy
nums_x = {"a":1, "b":2, 'cc':{"c":3}}
print("Original dictionary: ", nums_x)
nums_y = copy.deepcopy(nums_x)
print("\nDeep copy of the said list:")
print(nums_y)
print("\nChange the value of an element of the original dictionary:")
nums_x["cc"]["c"] = 10
print(nums_x)
print("\nSecond dictionary (Deep copy):")
print(nums_y)
nums = {"x":1, "y":2, 'zz':{"z":3}}
nums_copy = copy.deepcopy(nums)
print("\nOriginal dictionary :")
print(nums)
print("\nDeep copy of the said list:")
print(nums_copy)
print("\nChange the value of an element of the original dictionary:")
nums["zz"]["z"] = 10
print("\nFirst dictionary:")
print(nums)
print("\nSecond dictionary (Deep copy):")
print(nums_copy)
Sample Output:
Original dictionary: {'a': 1, 'b': 2, 'cc': {'c': 3}} Deep copy of the said list: {'a': 1, 'b': 2, 'cc': {'c': 3}} Change the value of an element of the original dictionary: {'a': 1, 'b': 2, 'cc': {'c': 10}} Second dictionary (Deep copy): {'a': 1, 'b': 2, 'cc': {'c': 3}} Original dictionary : {'x': 1, 'y': 2, 'zz': {'z': 3}} Deep copy of the said list: {'x': 1, 'y': 2, 'zz': {'z': 3}} Change the value of an element of the original dictionary: First dictionary: {'x': 1, 'y': 2, 'zz': {'z': 10}} Second dictionary (Deep copy): {'x': 1, 'y': 2, 'zz': {'z': 3}}
Flowchart:

Visualize Python code execution:
The following tool visualize what the computer is doing step-by-step as it executes the said program:
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a Python program to create a shallow copy of a given dictionary.
Next: Python built-in Modules Exercise Home.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
Python: Tips of the Day
Inverts a dictionary with non-unique hashable values:
Example:
def tips_collect_dictionary(obj): inv_obj = {} for key, value in obj.items(): inv_obj.setdefault(value, list()).append(key) return inv_obj ages = { "Owen": 25, "Jhon": 25, "Pepe": 15, } print(tips_collect_dictionary(ages))
Output:
{25: ['Owen', 'Jhon'], 15: ['Pepe']}
- Weekly Trends
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join
- JavaScript functions Exercises
- Python Tutorial
- Python Array Exercises
- SQL Cross Join
- C# Sharp Array Exercises
We are closing our Disqus commenting system for some maintenanace issues. You may write to us at reach[at]yahoo[dot]com or visit us at Facebook