リスト内包表記での if-else ステートメントの利用
Python では、リスト内包表記により、リスト要素を変更およびフィルタリングする簡潔な方法が提供されます。よく遭遇する課題の 1 つは、この構造内に if-else ロジックを実装することです。この記事では、この障害を克服する方法について説明します。
構文エラー
次のようなリスト内包で if-else 構文を使用しようとした場合:
[x+1 for x in l if x >= 45 else x+5]
構文エラーが発生する可能性があります。これは、if-else ステートメントの標準 Python 構文では、if キーワードと else キーワードの後に対応するコード ブロックを使用する必要があるためです。
正しいアプローチ
リスト内包表記で if-else のような動作を実現するには、条件式構文を使用できます。
[expression_if_true if condition else expression_if_false for x in l]
例:
で提供されている例を考えてみましょう。リスト内の 45 以上の数値に 1 を加算し、45 未満の数値に 5 を加算する質問です。
l = [22, 13, 45, 50, 98, 69, 43, 44, 1] result = [x+1 if x >= 45 else x+5 for x in l] print(result) Output: [27, 18, 46, 51, 99, 70, 48, 49, 6]
この例では、条件式 x 1 if x >= 45 else x 5 は、x が 45 以上の場合、変更された値が x 1 になることを指定します。それ以外の場合は、x 5 にする必要があります。
以上がPython リスト理解で if-else ロジックを使用する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。