arr = [1]
arr[0] = arr.pop()
给我IndexError:列表分配索引超出范围 我不明白为什么?
答案 0 :(得分:7)
通过调用arr.pop()
,它会将arr
更改为[]
,因此在此之后,如果您尝试检索/跟踪索引为0
的项目,则它将超出范围大小为0
答案 1 :(得分:0)
赋值语句的右侧在左侧之前进行评估。因此,当您尝试分配索引0时,该列表为空。
您可以大致将代码重写为:
arr = [1]
popped = arr.pop()
arr[0] = popped