I found that there is a difference between extending a list with x += [0] and x = x + [0].
x = [1]
y = x
x += [0]
print(x, y)
The above prints [1,0] [1,0]. Compared to below:
x = [1]
y = x
x = x + [0]
print(x, y)
which prints [1, 0] [1]. Why does this happen?