ホームページ >バックエンド開発 >Python チュートリアル >変数プレフィックスを使用した Python のリスト内包表記はどのように機能しますか?
変数プレフィックスを使用した Python for-in ループ
Python では、次のようなコード スニペットが発生する可能性があります。
foo = [x for x in bar if x.occupants > 1]
このコード スニペットは、何を意味し、どのように行うのかという疑問を引き起こします。 work?
リスト内包表記について
問題の構文はリスト内包表記として知られています。リスト内包表記は、既存のリストに基づいて新しいリストを生成する簡潔な方法であり、通常はその要素をフィルタリングまたは変換することによって行われます。
リスト内包表記の構文構造
Aリストの内包表記はこの一般的な構文に従います。構造:
[expression for item in iterable if condition]
指定された例の説明
指定された例では、次の要素が関係します:
仕組み
リスト内包表記は、リスト バー内の各要素 x を反復処理します。各要素 x について、条件 x.occupants > が満たされているかどうかを確認します。 1 は真です。条件が True の場合、式 x が評価され、作成中の新しいリストに含まれます。
For-in ループとの比較
リストの内包表記は同等です。次の従来の for-in ループに変換します:
foo = [] for x in bar: if x.occupants > 1: foo.append(x)
ただし、リストの内包はより簡潔であり、
構文を理解するための別の方法
あるいは、リスト内包表記は 2 つの組み込み関数へのショートカットとして考えることもできます:
指定された例では、リスト内包表記は次と同等です:
foo = map(lambda x: x, filter(lambda x: x.occupants > 1, bar))
以上が変数プレフィックスを使用した Python のリスト内包表記はどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。