Assignment of mutable vs immutable objects
Two assignments to literals that represent immutable objects of equal value will point to the same object. However, two assignments to literals that represent mutable objects of equal value will point to two different objects. For example:
>>> a = "Hello"
>>> b = "Hello"
>>> a == b
True
>>> id(a) == id(b)
True
>>> a = ["Hello"]
>>> b = ["Hello"]
>>> a == b
True
>>> id(a) == id(b)
False