ホームページ > バックエンド開発 > Python チュートリアル > Python リスト内包表記内で if/else ロジックを効果的に使用するにはどうすればよいですか?

Python リスト内包表記内で if/else ロジックを効果的に使用するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-20 10:12:10
オリジナル
724 人が閲覧しました

How Can I Effectively Use if/else Logic within Python List Comprehensions?

if/else のリスト内包表記の条件式

Python では、if/else ステートメントを含む for ループをリストに変換できます。条件式を使用した内包表記。一般的なシナリオをもう一度見てみましょう。

if/else を使用した for ループ:

results = []
for x in xs:
    results.append(f(x) if x is not None else '')
ログイン後にコピー

ここでは、x が None でない場合に f(x) の結果を結果に追加することを目的としています。それ以外の場合は、空の文字列を追加します。

これを次のようにリスト内包表記に変換しようとすると、

[f(x) for x in xs if x is not None else '']
ログイン後にコピー

が発生し、SyntaxError が発生します。正しい構文は次のとおりです。

[f(x) if x is not None else '' for x in xs]
ログイン後にコピー

一般に、if/else を使用したリスト内包表記の構文は次のとおりです。

[f(x) if condition else g(x) for x in sequence]
ログイン後にコピー

ここで、f(x) と g(x) は式を表します。条件に基づいて評価されます。

上記の構文で使用される条件式、他のプログラミング言語にある三項演算子 ?: と同じ目的を果たします。例:

value = 123
print(value, 'is', 'even' if value % 2 == 0 else 'odd')
ログイン後にコピー

これは、値が 2 で割り切れる場合、出力は「偶数」になることを簡潔に表します。それ以外の場合は、「奇数」である必要があります。

以上がPython リスト内包表記内で if/else ロジックを効果的に使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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