【发布时间】:2014-09-11 02:46:01
【问题描述】:
例如:
x = [0] * 10
x[2:8] = [1] * 2
结果变成:
[0,0,1,1,0,0]
为什么会这样?我没有改变x的长度,但是它自动变成了6。
另外,赋值是分配到 x 列表的中间部分,谁能告诉我为什么?
【问题讨论】:
标签: 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 列表的中间部分,谁能告诉我为什么?
【问题讨论】:
标签: python list python-3.x variable-assignment variable-length
你确实改变了长度。您从 2 到 8(不包括 8)中选择了长度为 6 的切片,并将其替换为长度为 2 的列表 ([1] * 2)。换句话说,您将列表的中间部分剪掉,然后将一个较小的中间部分放回原处。
【讨论】: