Python简单的将一个列表赋值给另一个列表就可以生成新的列表对象 这句话对吗?
收起
不对。这样简单赋值,只是列表的浅拷贝。新的列表变量和旧的列表变量指的都是同一个内存地址,改变旧的列表,新的变量也会发生变化。参考以下示例,在列表a更改元素后,列表b看上去也发生了变化,因为它们都是指向同一个列表对象的内存地址。
>>> a = [1,2,3] >>> b = a >>> b [1, 2, 3] >>> a[0]='a' >>> a ['a', 2, 3] >>> b ['a', 2, 3]
报告相同问题?