【问题标题】:Python list manipulation: issue in copying arrayPython列表操作:复制数组中的问题
【发布时间】:2020-02-10 04:10:09
【问题描述】:

我有以下代码会产生意外的输出。

arr1 = [i for i in range(10)]
temp = [None]*20
top=10
temp[0:top+1] = arr1

为什么'temp'数组的长度从20减少到19?

【问题讨论】:

  • 因为你在最后一行用 10 替换了 11 元素
  • 因为 arr 有 10 个元素,而您要替换 temp 的一部分,它有 11 个元素

标签: python arrays list slice


【解决方案1】:

因为你的temp[0:top+1] = arr1 行错了,应该是temp[0:top] = arr1

arr1 的长度为10,但您正在尝试从arr1 添加11 项目,并且由于其中一个值不存在,因此它给出了此输出。

【讨论】:

    猜你喜欢
    • 2012-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-05
    • 1970-01-01
    • 2019-12-14
    • 1970-01-01
    相关资源
    最近更新 更多