一个关于Python变量赋值的小疑问,该如何处理

一个关于Python变量赋值的小疑问
首先有
a   =   [ 'a ', 'b ', 'c ', 'd ']
b   =   a
书上说这个时候b   不是a   的一个拷贝而是1个参考
执行
del   a[0]后
a,b的值都为   [ 'b ', 'c ', 'd ']
这个时候如果再执行
a   =   [ '123 ']
为什么现在b的值不是[ '123 ']而是
[ 'b ', 'c ', 'd ']呢??


------解决方案--------------------
a = [ 'a ', 'b ', 'c ', 'd ']
b = a

b 和 a 引用了相同的东西
b 引用的是 [ 'a ', 'b ', 'c ', 'd ']
不是 a

a = [ '123 ']
a 引用了另外一个东西
b 还引用着原来的东西