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

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

DDD
DDDオリジナル
2024-12-24 03:07:14639ブラウズ

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

if/else によるリスト内包表記: 構文と使用法

Python でリスト内包表記を使用する場合、if/else ロジックを組み込む必要があります。条件付き操作を処理します。この記事では、そのようなシナリオの正しい構文について説明します。

一般的なタスクは、if/else 構造を含む次の for ループを使用して、ソース シーケンスに基づいてリストを作成することです。

results = []
for x in xs:
    results.append(f(x) if x is not None else '')

このコードは、x が None の場合は結果リストに '' を追加し、それ以外の場合は f(x) を計算します。リスト内包表記を使用しても目的の結果を得ることができますが、構文を必要に応じて調整します。

results = [f(x) if x is not None else '' for x in xs]

主な違いは、リスト内包表記内の if 句と else 句の順序にあります。正しい構文では、for 部分の前に if 節を配置し、その後に else 節を配置する必要があります。

一般に、if/else 条件を含むリスト内包の構文は次のとおりです。

[f(x) if condition else g(x) for x in sequence]

ソースシーケンスから要素をフィルタリングするための if 条件のみを含むリスト内包表記の場合、構文is:

[f(x) for x in sequence if condition]

リスト内包表記の if/else 構文で使用される条件式は、フィルター処理に使用される if 構造とは異なることに注意してください。条件式を使用すると、他の言語の三項演算子 ?: と同様に、条件に基づいて 2 つの式から選択できます。例:

value = 123
print(value, 'is', 'even' if value % 2 == 0 else 'odd')

この例では、条件式を使用して値が偶数か奇数かを出力します。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。