【问题标题】:Assignment in list slice in PythonPython中列表切片中的赋值
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

    • 非常感谢,这对您有很大帮助!
    猜你喜欢
    • 1970-01-01
    • 2012-04-26
    • 2011-05-02
    • 2011-03-23
    • 2018-08-31
    • 1970-01-01
    • 2016-03-19
    相关资源
    最近更新 更多