Python:为什么切片以这种方式工作?

时间:2014-08-08 10:03:08

标签: python

在官方Python教程(2.7)中,据说切片生成列表的浅表副本(例如),切片中的每个项目都是对原始列表对象的引用。

例如,做

a = [1,2,3]
a[:][0] = 2

不会改变实际值,因为发生的事情仅仅是切片中的第一个项被引用到一个新对象(即2)。

然而,做

a[:] = [] # or any other list

实际上会更改列表。

有人可以解释一下吗?

0 个答案:

没有答案