在Python中的列表切片中的赋值

时间:2014-09-11 02:46:02

标签: python list python-3.x variable-assignment variable-length

例如:

x = [0] * 10
x[2:8] = [1] * 2

结果变为:

[0,0,1,1,0,0]

为什么会这样?我没有改变x的长度但它自动变成了6。

此外,赋值分配给x列表的中间部分,任何人都可以告诉我为什么?

1 个答案:

答案 0 :(得分:3)

你确实改变了长度。您选择了长度为6的切片,从2到8(不包括8),并将其替换为长度为2的列表([1] * 2)。换句话说,你切出了列表的中间部分,并将一个较小的中间部分放回原位。