每次我尝试从列表中删除一个元素时,它都会变成 None [关闭]

问题描述 投票:0回答:0

我有一个名为 stack 的列表、一个 interact() 方法和一个这样的程序:

while True:
  currentElement = stack[-1]
  currentElement.interact()

当 interact() 方法运行时,堆栈可以保持不变,在这种情况下没问题,可以添加一个元素,这将是新的 currentElement,没问题,或者可以删除堆栈的最后一项,所以理论上旧的 -2 项目应该成为新的 -1 项目。 但每次我尝试这样做时,项目只会变成 None,程序出错了

我试过这个方法:

stack.pop()
stack.pop(-1)
stack.remove(currentElement)
stack = stack[:-1]

但我得到了这个:

AttributeError: 'NoneType' object has no attribute 'interact'

我也试过:

anyone of the lines before
stack.remove(None)

但我明白了:

ValueError: list.remove(x): x not in list

python list attributeerror nonetype
© www.soinside.com 2019 - 2024. All rights reserved.