ホームページ >バックエンド開発 >Python チュートリアル >Python のリスト内包表記内で if-else ステートメントをどのように使用しますか?

Python のリスト内包表記内で if-else ステートメントをどのように使用しますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-05 09:35:02602ブラウズ

How do you use if-else statements within Python list comprehensions?

リスト内包表記の If-Else

Python では、リスト内包表記は、既存のリストを反復処理し、各要素に変換を適用することで、新しいリストを作成するコンパクトな方法を提供します。 。ただし、リスト内包表記内で if-else ステートメントを記述するのは難しい場合があります。

次の例を考えてみましょう。

<code class="python">l = [22, 13, 45, 50, 98, 69, 43, 44, 1]</code>

大きい数値に 1 を加算して新しいリストを作成するとします。 45 以上、45 未満の数値には 5。

次のような if-else ステートメントを使用してこれをリスト内包表記として記述しようとすると、

<code class="python">[x+1 for x in l if x >= 45 else x+5]</code>

という結果になります。構文エラーです。

リスト内包表記内で if-else 演算を実行するには、次の 3 項条件演算子を使用できます。

<code class="python">[x+1 if x >= 45 else x+5 for x in l]</code>

この式は次のように評価されます:

<code class="python">[27, 18, 46, 51, 99, 70, 48, 49, 6]</code>

この例では、45 以上の各 x に対して「x 1」が実行され、45 未満の各 x に対して「x 5」が実行されます。

以上がPython のリスト内包表記内で if-else ステートメントをどのように使用しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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