ホームページ > バックエンド開発 > Python チュートリアル > Python の「any()」関数と「all()」関数はタプルを比較するときにどのように動作しますか?

Python の「any()」関数と「all()」関数はタプルを比較するときにどのように動作しますか?

Barbara Streisand
リリース: 2024-12-09 20:04:15
オリジナル
592 人が閲覧しました

How Do Python's `any()` and `all()` Functions Behave When Comparing Tuples?

Python の any 関数と all 関数の仕組み

タプルを比較する場合、any() と all() の両方の組み込み関数が使用されます。遊ぶ。両者の違いは次のとおりです。

any()

any() は、反復可能な要素内の少なくとも 1 つの要素が真である場合 (つまり、False、0、 ”、一方、

all()

all() は、反復可能内のすべての要素が Truthy である場合にのみ True を返します。

ユースケースを理解する

コードスニペット内提供:

print [any(x) and not all(x) for x in zip(*d['Drd2'])]
ログイン後にコピー

zip(*d['Drd2']) 内の各タプルは、all(x) ではなく any(x) のコンテキストで評価されます。ただし、予期しない [False、False、False] 出力により疑問が生じます。

エラー解釈

すべての真理値表によると、

any(x) all(x) any(x) and not all(x)
True False True
False True False
True True False
False False False

この場合、すべてのタプルは同一の数値 (つまり True 値) で構成されているため、any(x) は次のようになります。は常に True になり、all(x) も True になります。したがって、any(x) と not all(x) は常に False と評価される必要がありますが、これは出力には反映されません。

エラーの原因

エラーは次のとおりです。 (x[0] != x[1]) が Truthy 式であるという誤った期待が生じます。ただし、タプル内の数値が等しい場合 (例: (1, 1))、(x[0] != x[1]) は False と評価されます。

正しいロジック

タプル内の値が異なるかどうかを正確に判断するには、次のコマンドを使用できます。ロジック:

print [x[0] != x[1] for x in zip(*d['Drd2'])]
ログイン後にコピー

この式は、意図したとおり、各タプルの対応する要素を正しく比較して相違点を特定します。

以上がPython の「any()」関数と「all()」関数はタプルを比較するときにどのように動作しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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