値がタプルである辞書があります
dict={'A':('1','2','3'),'B':('2','3','xxxx')....}
すべての値の 3 番目の要素に '' または None があるかどうかを確認する必要があります。
ブール値の評価だけが必要です。
これを実現する最も簡潔な方法は何ですか?
これは私がしたことです:
all(not v[2] for v in dict.values())
しかし、これにはより良い「任意の」形式があると思いますか?
値がタプルである辞書があります
dict={'A':('1','2','3'),'B':('2','3','xxxx')....}
すべての値の 3 番目の要素に '' または None があるかどうかを確認する必要があります。
ブール値の評価だけが必要です。
これを実現する最も簡潔な方法は何ですか?
これは私がしたことです:
all(not v[2] for v in dict.values())
しかし、これにはより良い「任意の」形式があると思いますか?
これはどう:
all(dict[k][2] is None or dict[k][2] == "" for k in dict)
reduce(lambda x,y: x and y[2] not in ('', None), d.values(), True)
これは単純な機能ソリューションです。
not filter( lambda l : not l, [ v[2] for v in d.values()] )
またはが 3 番目の位置に見つからず、それらの値のいずれかが見つかったFalse
場合に返されます。Best way to check if a list is emptyから部分的に適応。''
None
True