在以下循环中,最初lines_hp[0]
不是NoneType
。但经过一些操作后,它将成为NoneType
,我想在发生这种情况时打破循环。在循环的一些迭代之后,lines_hp[0]
更改为NoneType
但是当我想使用lines_hp[0] is not None
识别它时,我收到错误:'NoneType' object has no attribute '__getitem__'
。我该如何解决这个问题?
while lines_hp[0] is not None:
print lines_hp[0] is not None
#some operation to change lines_hp[0]
我已经经历了很多关于如何检测NoneType项目的SO问题和答案,但我仍然遇到上述错误。
答案 0 :(得分:4)
lines_hp[0]
变为None
,但 lines_hp
本身现在是None
。 Python抱怨你想要从None
对象(如None[0]
)获取索引,但这会失败。
你应该先检查一下:
while lines_hp is not None and lines_hp[0] is not None:
print lines_hp[0] is not None
#some operation to change lines_hp[0]