python中 list的赋值分析

先看代码 :
代码图
运行后的结果是什么呢? 这道题,我就做错了,所以分析以后,把结果分享给大家。
先透露正确答案: [1,2,3]
过程分析: 关键在第2行代码,此时, a, b为两个不同的变量,可以理解为两个指针,指向了同一个列表,如下图所示:
第2行执行前
当第2行代码执行后,进行了列表的赋值,此时,是对变量b的赋值,所以指针b会指向新的数组,而指针a仍指向原来的数组,如下图所示:
第2行执行后
所以最后输出的结果是 a指向的数组,即[1,2,3] 。