ホームページ > バックエンド開発 > Python チュートリアル > Python の `any()` 関数と `all()` 関数はイテラブルの効率的な真偽評価にどのように機能しますか?

Python の `any()` 関数と `all()` 関数はイテラブルの効率的な真偽評価にどのように機能しますか?

Barbara Streisand
リリース: 2025-01-04 08:02:33
オリジナル
472 人が閲覧しました

How Do Python's `any()` and `all()` Functions Work for Efficient Truthiness Evaluation of Iterables?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート