変数が前にある Python リスト内包表記
以下の Python コード スニペットでは、変数 foo:
foo = [x for x in bar if x.occupants > 1]
ログイン後にコピー
このコードは一連の操作を実行し、新しいリストを作成します。 foo は、既存のリスト bar の値に基づきます。これは、bar の要素を反復処理して、次の手順を実行します:
- 変数の割り当て: bar の各要素 x について、その occupants 属性が 1 より大きいかどうかを確認します。 true の場合、x の値を新しい変数 x に代入します。
- List追加: これは、割り当てられた x の値を新しいリスト foo に追加します。
したがって、結果のリスト foo には、occupants 属性が 1 より大きい bar の要素のみが含まれます。これは、次の冗長コードと同等です:
result = []
for x in bar:
if x.occupants > 1:
result.append(x)
ログイン後にコピー
リストの理解内包表記
リスト内包表記は、特定の条件または変換を適用しながら、既存のリストに基づいて新しいリストを作成する簡潔な方法です。これらの一般的な構文は次のとおりです:
[<transformation> for <element> in <sequence> if <condition>]
ログイン後にコピー
提供されたコード フラグメントのコンテキスト:
- 要素: ループ変数 x は反復されます。シーケンス内の各要素、bar.
- 条件: if条件 x.占有者 > 1 は、指定された基準を満たさない要素を除外します。
- 変換: 結果のリストに直接追加されるため、変数 x 自体が変換になります。
本質的に、リスト内包表記は、Python でデータを操作およびフィルタリングするためのコンパクトで効率的な方法を提供し、コードをより簡潔にし、読むことができます。
以上が先行変数を使用した Python リスト内包表記はどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。