Python识别变量是否为NoneType

时间:2017-06-23 18:17:30

标签: python nonetype

在以下循环中,最初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问题和答案,但我仍然遇到上述错误。

1 个答案:

答案 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]