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 条件のみを含むリスト内包表記の場合、構文は次のとおりです:
[f(x) for x in sequence if condition]
リスト内包表記の if/else 構文で使用される条件式は、使用される if 構文とは異なることに注意してください。フィルタリング用。条件式を使用すると、他の言語の三項演算子 ?: と同様に、条件に基づいて 2 つの式のどちらかを選択できます。例:
value = 123 print(value, 'is', 'even' if value % 2 == 0 else 'odd')
この例では、条件式を使用して値が偶数か奇数かを出力します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3