洗練されているように聞こえますか? これが Python のリスト理解です。 この非常に効率的な機能により、リストの作成が XNUMX 行のコードに凝縮されます。 これは、速度とパフォーマンスの両方を合理化する簡素化されたアプローチです。
リストの内包には、リストのコンポーネントを理解し、元のリストから新しいリストを生成することが含まれます。 マッピングとフィルタリングの要素を組み合わせて、既存のリストに基づいて条件を追加した新しいリストを作成します。 その主なコンポーネントは、出力式、入力シーケンス、およびオプションの述語です。
new_list = [expression for member in iterable]
リスト理解の仕組みを深く掘り下げる前に、いくつかの用語を整理しましょう。
出力式:
これはリスト理解の操作部分のようなものです。 新しいリストにどの項目を含めるかが決まります。 数学的演算 (数値の XNUMX 乗など) から文字列の書式設定などまで、あらゆるものを扱うことができます。
入力シーケンス:
入力シーケンスを使用すると、反復するリストまたは範囲を定義できます。
オプションの述語:
この部分では、フィルターのように、入力シーケンスに条件を適用できます。 条件では、特定の基準に基づいてアイテムを除外できます。
リスト内の各数値を二乗する例を考えてみましょう。 リスト内包表記がなければ、for ループを使用する必要があります。
numbers = [1, 2, 3, 4, 5] squared = [] for num in numbers: squared.append(num ** 2) print(squared)
しかし、リスト内包表記を使用すると、次のように簡単に書くことができます。
numbers = [1, 2, 3, 4, 5] squared = [num ** 2 for num in numbers] print(squared)
ここで、2 より大きい数値のみを XNUMX 乗したい例を考えてみましょう。
numbers = [1, 2, 3, 4, 5] squared = [num ** 2 for num in numbers if num > 2] print(squared)
それを包み込む
Python のリスト内包表記は、リストを作成するための洗練された簡潔なソリューションを提供します。 従来のループよりも高速で読みやすくなります (慣れれば)。 出力式、入力シーケンス、およびオプションの述語を使用すると、XNUMX 行のコードで強力で効果的な操作を実行できます。 Python のリスト理解は、コーディングにおいて簡潔さと効率性が両立しないことはほとんどないことを証明しています。
必ず Python コード ブロックを で区切って、リストを でマークしてください。
- 、および SEO と読みやすさの要件を満たすために、主要なキーワードにタグを付けます。 「はじめに」や「結論」を明示的に付ける必要はありません。 最初の段落の後にタグを付けます。 コーディングを楽しんでください!