【发布时间】:2020-05-03 19:11:50
【问题描述】:
但如果是这样,那为什么这行不通呢?
l = [1, 2, 3]
# Attempting to modify the element at index 1
l[0:2][-1] = 10
# but the attempt fails. The original list is unchanged
l
> [1, 2, 3]
l[0:2][-1] 不应该指向原始列表索引 1 处的元素吗?
【问题讨论】:
-
不能修改元素本身;它是不可变的。分配给列表的一个元素会用另一个引用替换一个引用。
-
另外,“复制列表”(浅拷贝)和“复制列表的对象”(深拷贝)是有区别的。