Difference between copy and = in list

>>> import copy
>>> a = [1,2,3]
>>> b = a
>>> b
[1, 2, 3]
>>> a
[1, 2, 3]
>>> b.pop()
3
>>> b
[1, 2]
>>> a
[1, 2]
>>> c = copy.copy(a)
>>> c
[1, 2]
>>> a
[1, 2]
>>> c.pop()
2
>>> c
[1]
>>> a
[1, 2]
>>>

b=a creates only references of list (a) addresses.but copy creates entire copy of list(a).