Python では、リスト内包表記により、反復可能な要素を新しいリストに変換するエレガントな方法が提供されます。ただし、if/else ステートメントを含む従来の for ループをリスト内包表記に変換するのは難しい場合があります。
問題ステートメント:
次の for ループを考えてみましょう:
目標は、x が None の場合は ''、それ以外の場合は a を使用して f(x) を持つことです。リストの理解。これを
として書こうとすると、SyntaxError が発生します。正しい構文は何ですか?
解決策:
解決策は、リスト内包表記内の要素の順序にあります。正しい構文は次のとおりです:
一般化:
一般に、if/else 条件式を含むリスト内包表記の構文は次のとおりです:
if 条件のみを含むリスト内包表記の場合 (else 節を除く)、構文は次のように単純化されます。
条件に基づいて要素をフィルターするリスト内包表記と、条件に基づいて指定された値に評価される条件式を区別することが重要です。
以上がPython のリスト内包表記で if/else を正しく使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。