Python 文档说切片列表会返回一个新列表。
现在,如果返回"new"列表,我有以下与“分配给切片”相关的问题
a = [1, 2, 3]
a[0:2] = [4, 5]
print a
现在的输出是:
[4, 5, 3]
- 返回的东西怎么会出现在表达式的左侧?
- 是的,我阅读了文档,它说这是可能的,既然切片列表返回一个"new"列表,为什么要修改原始列表?我无法理解其背后的机制。
最佳答案
您混淆了两个使用非常相似语法的不同操作:
1) 切片:
b = a[0:2]
这会复制 a
的切片并将其分配给 b
。
2) 切片赋值:
a[0:2] = b
这替换 a
的切片为 b
的内容。
虽然语法相似(我想是设计使然!),但这是两种不同的操作。
关于python - 分配如何与列表切片一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10623302/