我有一个名为 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