Junior
How can you create a copy of a dictionary in Python?
sobes.tech AI
Answer from AI
There are several ways to create a copy of a dictionary in Python:
-
The
copy()method: Creates a shallow copy of the dictionary.my_dict = {'a': 1, 'b': 2, 'c': 3} dict_copy = my_dict.copy() # Shallow copy -
The
dict()function: Also creates a shallow copy of the dictionary.my_dict = {'a': 1, 'b': 2, 'c': 3} dict_copy = dict(my_dict) # Shallow copy -
The
deepcopy()method from thecopymodule: Creates a deep copy of the dictionary, including copying nested objects.import copy my_dict = {'a': 1, 'b': [2, 3], 'c': {'d': 4}} dict_deepcopy = copy.deepcopy(my_dict) # Deep copy
The difference between shallow and deep copies is important when working with nested mutable objects (lists, other dictionaries):
- Shallow copy: Creates a new dictionary, but the elements that are objects remain references to the same objects as in the original dictionary. Changing a nested object in the copy will affect the original.
- Deep copy: Creates a copy of the dictionary and recursively copies all nested objects. Changing a nested object in the deep copy will not affect the original.