ホームページ >バックエンド開発 >Python チュートリアル >条件付きステートメントを使用したリスト内包表記の構文エラーを解決するにはどうすればよいですか?
条件文によるリスト内包表記の構文の修正
リスト内包表記を使用して 2 つの反復可能値を比較し、表示される項目を出力しようとする場合どちらの場合も、条件ステートメントが正しく配置されていない場合、構文エラーが発生する可能性があります。
提供されたコード スニペットでは、if 条件 (y が b にない) が for ステートメントの前に記述されているためにエラーが発生します。 if 条件を含むリスト内包表記の正しい構文は、以下に示すように、for ステートメントの後に条件ステートメントを配置することです。
<code class="python">[y for y in a if y not in b]</code>
この修正されたコードは、反復可能な a および反復可能な各要素 y を正しく反復します。 b. 反復可能オブジェクトに存在しない要素のみを含めます。結果として、期待どおり ['r'] が出力されます。
あるいは、以下に示すように、if-else 三項演算子を使用して目的の結果を達成することもできます。
<code class="python">[y if y not in b else other_value for y in a]</code>
この場合、other_value は b に存在する y に対して出力されます。
以上が条件付きステートメントを使用したリスト内包表記の構文エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。