ちょっと前にPython3でコードを書いていた際、複数の変数の値すべてがNoneだった場合にTrueとする処理にしたいということがあったので、備忘で残しておく。 やり方としては簡単で、一度すべての値を配列に入れてやって、それをlist.count(None)で数えてやった値と配列の要素数を比較してやればいいだけだ。
#!/usr/bin/env python3
# すべての要素がNoneの配列
all_none = [
None,
None,
None
]
# Noneではない要素を含む配列
not_all_none = [
None,
None,
"123"
]
# 配列の要素すべてがNoneのためTrue
print( all_none.count(None) == len(all_none) )
# Noneではない値を含むためFalse
print( not_all_none.count(None) == len(not_all_none) )
[blacknon@BlacknonMacBook-Pro2018][~/Work/201901/20190105] [BATTERY:100%]
(`・ω・´) < ./test.py [2019/01/05 07:22:45 (土) JST]
True
False
countを使って数を数えているだけなので、None以外でも同じような書き方ができると思う。