我有一段代码循环,直到引发错误或将 None 值分配给变量“父级”。在每个循环中,它都会将一个值附加到一个称为 actionList 的列表中。通过打印语句,我知道列表在循环的每次迭代中都在增长。然而,在我退出循环后(通过一个被捕获的 KeyError),打印语句显示该列表现在被分配了一个值 None。知道发生了什么吗?
while parent is not None:
print "iterating"
print actionList
try:
pathList.append(parentMap[parent])
except KeyError:
break
actionList.append(actionMap[parent])
parent = parentMap.get(parent, None)
return actionList.reverse()
经过进一步检查,一旦我离开循环,actionList 似乎仍然完好无损。但是,当在 actionList 上使用 reverse() 方法时,它就会消失。我使用 reverse() 错误吗?