PythonのNonetypeタイプはどう判断しますか?
1207 ワード
今日は爬虫類を書きましたが、データを捕まえるときに問題に遭遇しました.注意しないと、この問題は無視されやすいと思いますので、わざわざブログに記録しました.
問題の説明:
例えば、私は情報を抽出するとき、このようにタイプを判断します.
結果は次のとおりです.
だから、条件フィルタリングの時にis notか!=このようにして試してみると、
結果として私が得たのは:
次に、私が==で判断するのもFalseですが、type()で判断できないほど難しいと思います.
調べてみると、Nonetypeタイプは、実は値がNoneなので、直接値を判断すればいいのです.例えば、
結果:
OK、ここまで、問題は解決しました.リストの導出式は直接結果を得ました.
answer_table結果:
問題の説明:
例えば、私は情報を抽出するとき、このようにタイプを判断します.
type(answers[0].find_all("table")[0].string)
結果は次のとおりです.
NoneType
だから、条件フィルタリングの時にis notか!=このようにして試してみると、
type(answers[0].find_all("table")[0].string) is '''NoneType'''
結果として私が得たのは:
False
次に、私が==で判断するのもFalseですが、type()で判断できないほど難しいと思います.
調べてみると、Nonetypeタイプは、実は値がNoneなので、直接値を判断すればいいのです.例えば、
answers[0].find_all("table")[0].string is None
結果:
True
OK、ここまで、問題は解決しました.リストの導出式は直接結果を得ました.
answer_table = [x.find_all("table")[0].string.strip() for x in answers if x.find_all("table")[0].string is not None]
answer_table結果:
[' , 。', ' ', ' , , , ', ' , ', ' , , 。', ' , , ok', ' , , 。']