4. Aliasing and Copying

Because dictionaries are mutable, like lists, you need to be aware that aliasing can also occur with dictionaries. Whenever two variables refer to the same dictionary object, changes to one affect the other. For example, opposites is a dictionary that contains pairs of opposites.

As you can see from the is operator, alias and opposites refer to the same object.

If you want to modify a dictionary and keep a copy of the original, use the dictionary copy method. Since acopy is a copy of the dictionary, changes to it will not effect the original. This is the dictionary equivalent to list cloning.

acopy = opposites.copy()
acopy['right'] = 'left'    # does not change opposites

Check your understanding