リスト内包表記に if ステートメントを正しく配置するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-10-22 13:33:02
オリジナル
773 人が閲覧しました

How to Correctly Place an if Statement in a List Comprehension?

if ステートメントを使用したリスト内包表記の構文エラー

提供されたリスト内包表記で:

<code class="python">print([ y if y not in b for y in a])</code>
ログイン後にコピー

「^」記号で示される構文エラー。このエラーは、内包表記内の if ステートメントの配置が間違っていることが原因で発生します。

if 条件を含むリスト内包表記の正しい構文は次のとおりです。

<code class="python">[expression for item in iterable if condition]</code>
ログイン後にコピー

あなたの場合、条件は次のようになります。 for ステートメントの後に配置します:

<code class="python">print([y for y in a if y not in b])</code>
ログイン後にコピー

この改訂された内包表記は、a の要素を反復処理し、各要素が b に含まれないかどうかを評価し、結果のリストに条件を満たす要素のみを含めます。 。このコードの出力は、希望どおり ['r'] になります。

さらに、if-else 三項演算子を使用して、条件を満たさない要素に代替値を提供することもできます。

<code class="python">print([y if y not in b else None for y in a])</code>
ログイン後にコピー

「q」は a と b の両方に含まれるため、この内包表記は「r」と None を含むリストを返します。

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

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!