Can someone explain why the example with integers results in different values for x and y and the example with the list results in x and y being the same object?

```
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

```