【问题标题】:getting IndexError: list assignment index out of range获取 IndexError:列表分配索引超出范围
【发布时间】:2020-08-03 12:43:00
【问题描述】:
arr = [1]
arr[0] = arr.pop() 

给我 IndexError: list assignment index out of range 我不明白为什么?

【问题讨论】:

  • 因为你pop'd 从列表中,现在列表有零个元素,然后你尝试分配给arr[0],但由于那里不是arr[0] i>,你得到索引错误。

标签: python list


【解决方案1】:

通过调用arr.pop(),它会使arr 更改为[],因此之后如果您尝试在索引0 检索/更改项目,它将超出范围,因为它的大小是0

【讨论】:

    【解决方案2】:

    赋值语句的右侧在左侧之前计算。因此,当您尝试在索引 0 处分配时,列表为空。

    你可以大致重写你的代码:

    arr = [1]
    popped = arr.pop()
    arr[0] = popped
    

    【讨论】:

      猜你喜欢
      • 2020-09-17
      • 1970-01-01
      • 2020-02-03
      • 2015-01-18
      • 1970-01-01
      • 1970-01-01
      • 2018-10-21
      • 2020-02-13
      • 1970-01-01
      相关资源
      最近更新 更多