Python3で複数の変数が全てNoneだった場合にTrueを返させる
Pocket

ちょっと前に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) )
Sponsored Links

[blacknon@BlacknonMacBook-Pro2018][~/Work/201901/20190105]                                          [BATTERY:100%]
(`・ω・´)  < ./test.py                                                             [2019/01/05 07:22:45 (土) JST]
True
False

 

countを使って数を数えているだけなので、None以外でも同じような書き方ができると思う。

 

Pocket

Written by blacknon

インフラエンジニア(…のつもり)。 仕事で使うならクライアントはWindowsよりはUNIXの方が好き。 大体いつも眠い。

Leave a Comment

メールアドレスが公開されることはありません。

*