ホームページ > バックエンド開発 > Python チュートリアル > 複数の Python 変数を単一の整数値と効率的に比較するにはどうすればよいですか?

複数の Python 変数を単一の整数値と効率的に比較するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-05 20:58:41
オリジナル
843 人が閲覧しました

How to Efficiently Compare Multiple Python Variables to a Single Integer Value?

複数の変数を 1 つの値と比較する

問題の説明:

メソッドを探しています複数の変数が特定の整数と等しいかどうかを確認し、その後文字列を生成する Python 3つの文字で構成されています。たとえば、

x = 0
y = 1
z = 3
mylist = []

if x or y or z == 0:
    mylist.append("c")
if x or y or z == 1:
    mylist.append("d")
if x or y or z == 2:
    mylist.append("e")
if x or y or z == 3:
    mylist.append("f")
ログイン後にコピー

... の場合、期待される出力は ["c", "d", "f"] のリストになります。

答え:

提供されたコードは、Python のブール式を誤解しています。 or 演算子は各辺を個別に検査し、次の評価が行われます。

(x == False or y == False) or (y == False or z == False)
ログイン後にコピー

少なくとも 1 つの変数が目的の整数と等しいことを確認するには、次の式を使用します。

if 1 in (x, y, z):
    ....
ログイン後にコピー

Alternatively 、改善された効率:

if 1 in {x, y, z}:
    ....
ログイン後にコピー

説明:

Python では演算子に優先順位があり、or 演算子は等価 (=) よりも優先順位が低くなります。したがって、平等性が最初に評価されます。さらに、or 演算子は、最初に見つかった真の値を返します。これは、コード シーケンス:

x or y or z == 0
ログイン後にコピー

は、y または z が 0 であっても、x が 0 でない場合は False を返すことを意味します。単一の値に対して複数の変数を正しく評価するには、

x == 1 or y == 1 or z == 1
ログイン後にコピー
のような式を使用します。

以上が複数の Python 変数を単一の整数値と効率的に比較するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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