标签: python
在官方Python教程(2.7)中,据说切片生成列表的浅表副本(例如),切片中的每个项目都是对原始列表对象的引用。
例如,做
a = [1,2,3] a[:][0] = 2
不会改变实际值,因为发生的事情仅仅是切片中的第一个项被引用到一个新对象(即2)。
然而,做
a[:] = [] # or any other list
实际上会更改列表。
有人可以解释一下吗?