В Python есть концепция изменяемых и неизменных объектов . Объект, такой как строка или целое число, является неизменным - каждое внесенное вами изменение создает новую строку или целое число.
Списки изменчивы и ими можно манипулировать. Смотри ниже.
a = [1, 2, 3]
b = [1, 2, 3]
c = a
print a is b, a is c
# False True
print a, b, c
# [1, 2, 3] [1, 2, 3] [1, 2, 3]
a.reverse()
print a, b, c
# [3, 2, 1] [1, 2, 3] [3, 2, 1]
print a is b, a is c
# False True
Обратите внимание, как с был обратный, потому что с "есть" а. Есть много способов скопировать список в новый объект в памяти. Простой метод - нарезать: c = a[:]