The process of giving another reference variable to the existing list is called aliasing.
Example:-
1) x=[10,20,30,40]
2) y=x
3) print(id(x))
4) print(id(y))

The problem in this approach is by using one reference variable if we are changing
content, then those changes will be reflected to the other reference variable.
1) x=[10,20,30,40]
2) y=x
3) y[1]=777
4) print(x) # ==>[10,777,30,40]

To overcome this problem we should go for cloning.
The process of creating exactly duplicate independent object is called cloning.
We can implement cloning by using slice operator or by using copy() function
1. By using slice operator:
1) x=[10,20,30,40]
2) y=x[:]
3) y[1]=777
4) print(x) # ==>[10,20,30,40]
5) print(y) # ==>[10,777,30,40]

2. By using copy() function:
1) x=[10,20,30,40]
2) y=x.copy()
3) y[1]=777
4) print(x) # ==>[10,20,30,40]
5) print(y) # ==>[10,777,30,40]

Q. Difference between = operator and copy() function