得到IndexError:列表分配索引超出范围

时间:2020-08-03 04:24:55

标签: python list

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

给我IndexError:列表分配索引超出范围 我不明白为什么?

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:0)

赋值语句的右侧在左侧之前进行评估。因此,当您尝试分配索引0时,该列表为空。

您可以大致将代码重写为:

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