listがNoneかどうかで条件分岐させたい。
Noneと比べるときは、=ではないという話。
listがNoneの時とそうでない時があり、この条件に従って分岐させたかった。しかし、エラーに阻まれ敗北...
list = hoge#noneの時もあれば、[810, 114]のように値がある場合もある
if list = None
print('noneです!')
else
print('noneではないです。')
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
listが要素を持つとき(Noneではない時)にエラーが出ました。リストは複数の要素を持つので、a.any() or a.all()を用いずにNoneと比べることはできないようです。
a.any()を使ってみた
list = hoge#noneの時もあれば、[810, 114]のように値がある場合もある
if any(list) = None
print('noneです!')
else
print('noneではないです。')
すると、今度はlistがNoneの時にエラー。ダメみたいですね...
TypeError: 'NoneType' object is not iterable
Noneの時はany()とか使えないよ、Noneだから...という意味でしょうか。
解決
listとNoneを比べるときに、=
ではなくis
を使うことで解決しました。
list = hoge#noneの時もあれば、[810, 114]のように値がある場合もある
if list is None
print('noneです!')
else
print('noneではないです。')