Python の any() 関数と all() 関数を理解する
Python の組み込み関数、any() と all()、playイテラブル内の値の真実性を評価する際に重要な役割を果たします。これらの関数は、複数の条件をテストするための簡潔で効率的な方法を提供します。
any() 関数
any() は、反復可能な要素内のいずれかの要素が True かどうかを判断します。 True 値が 1 つでも存在する場合は True を返します。それ以外の場合は、False を返します。
例:
my_list = [0, False, 'Hello', 1, ''] print(any(my_list)) # Outputs True as 'Hello' and 1 are True
all() Function
all(), on一方、反復可能な要素内のすべての要素が True であるかどうかを確認します。すべての要素が True の場合にのみ True を返します。それ以外の場合は、False を返します。
例:
my_list = [True, 1, 'True'] print(all(my_list)) # Outputs True as all elements are True
真実性と論理評価
any() および all () は基本的に、それぞれ論理 OR および AND 演算を実行します。彼らの真実性の動作を理解することが不可欠です。
真理値表:
Iterable Values | any() | all() |
---|---|---|
All True | True | True |
All False | False | False |
Mixed True and False | True | False |
Empty Iterable | False | True |
コードを理解する
コード内では、 any() と all() の組み合わせを利用して、すべての値が異なるわけではないことを確認しながら、タプル内の値が異なるかどうかをチェックします。は異なります。ただし、コードの評価における誤解のため、期待した出力は得られませんでした:
d = defaultdict(list) print(list(zip(*d['Drd2']))) # [(1, 1), (5, 6), (0, 0)] print([any(x) and not all(x) for x in zip(*d['Drd2'])]) # [False, False, False]
この場合、any(x) はタプル内の値が異なる (つまり True) かどうかをチェックします。一方、all(x) は、すべての値が異なるわけではないことを保証します (つまり、False)。 (1, 1)、(5, 6)、および (0, 0) はすべて異なる値を持つため、3 つのタプルすべてが [False, False, False] として正しく評価されます。
目的の出力を実現するには
print([x[0] != x[1] for x in zip(*d['Drd2'])]) # [False, True, False]
これにより、各タプルの最初と 2 番目の要素が異なるかどうかが直接チェックされ、期待どおりの出力が得られます。 [偽、真、偽].
以上がPython の `any()` 関数と `all()` 関数はイテラブルの効率的な真偽評価にどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。