Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでのネストされたリスト内包


ネストされたリストは、リスト内のリストです。 Pythonは、ネストされたリストを適切に処理し、一般的な関数を適用してネストされたリストを操作する機能を提供します。この記事では、リスト内包表記を使用して、Pythonでネストされたリストを作成および使用する方法を説明します。

マトリックスの作成

マトリックスの作成には、一連の行と列の作成が含まれます。 forループを使用して行列の行と列を作成するには、forループを含む1つのPythonリストをforループを含む別のPythonリスト内に配置します。

matrix = [[m for m in range(4)] for n in range(3)]
print(matrix)

上記のコードを実行すると、次の結果が得られます。

[[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]]

ネストされたリストからのフィルタリング

サブリスト内のforループを使用することにより、フィルタリング機能を備えたリスト内包表記を使用できます。以下に、より大きなリスト内にサブリストの1つのレイヤーを持つ2次元リストがあります。これらのネストされたリストのそれぞれから選択した要素にアクセスします。フィルタ条件を使用する。

years = [['January', 'February', 'March'], ['April', 'May', 'June'], ['July', 'August', 'September'],['October','November','December']]
# Nested List comprehension with an if condition
years = [years for sublist in years for years in sublist if len(years) <= 5]
print(years)

上記のコードを実行すると、次の結果が得られます。

['March', 'April', 'May', 'June', 'July']

ネストされたサブリストのフラット化

ネストされたリストを取得して、サブリストを含まない単一のリストを作成することでフラット化することもできます。

nested_list = [[1] ,[17, 19], [21,23,25], [32,35,37,39]]
# Nested List Comprehension to flatten a given 2-D matrix
flattened_list = [value for sublist in nested_list for value in sublist]
print(flattened_list)

上記のコードを実行すると、次の結果が得られます。

[1, 17, 19, 21, 23, 25, 32, 35, 37, 39]

  1. Pythonリストの理解とスライス?

    このセクションでは、Pythonリストのスライスとリスト内包表記について理解します。 リストスライスとは何ですか? 名前が示すように、スライスとは–何かをより小さな断片(スライス)にカットすることを意味します。リストスライスは、元のリストからリストの一部を抽出するプロセスです。リストスライスでは、必要なもの(開始、停止、スライスする増分など)に基づいてリストをカットします。 リスト内包表記とは何ですか? リスト内包表記は、既存のリストに基づいてリストを生成します。これは、既存のリストに基づいて新しいリストを定義および作成するための洗練された方法を提供します。 リストスライス リストをスラ

  2. Pythonリスト内包?

    Pythonは、あるリストを別のリストから導出するためのコンパクトな構文を提供します。これらの式はリスト内包表記と呼ばれます。リスト内包表記は、Pythonで最も強力なツールの1つです。 Pythonのリスト内包表記は、関数型プログラミングの概念に対する言語のサポートの一例です。 Pythonリスト内包表記は、関数またはフィルターをアイテムのリストに適用するための非常に簡単な方法です。リスト内包表記は、正しく使用すると非常に便利ですが、注意しないと非常に読みにくくなります。 構文 リスト内包表記の一般的な構文は-です。 [expr for element in iterable if co