Может кто-нибудь объяснить, почему пример с целыми значениями приводит к различным значениям для x и y, а пример с результатом списка в x и y является одним и тем же объектом?
x = 42
y = x
x = x + 1
print x # 43
print y # 42
x = [ 1, 2, 3 ]
y = x
x[0] = 4
print x # [4, 2, 3]
print y # [4, 2, 3]
x is y # True