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

Pythonでネストされたリストをフラットリストに変換する


ネストされたリストは、要素がリスト自体であるリストです。ネストされたリストであるPythonデータコンテナがある場合、各要素をさらに処理できるように、フラット化されたリストに変換する必要がある場合があります。

内部要素でさえ、それ自体をネストすることができます。そして、ネストの多くの層が存在する可能性があります。したがって、この問題に再帰的にアプローチします。要素がネストされているかどうかを確認し、要素がリストでなくなるまで関数を何度も適用し続けます。要素がリストではないことが判明したら、リストのネストされていないすべての要素を保持する新しいリストに追加します。

listA = [[43, [0]],12, 19, [13,[8, 8]], 21 ]
print('Given nested list: \n', listA)
# Flat List
res = []
# function
def flatlist(l):
   for x in l:
      if type(x) == list:
         flatlist(x)
      else:
         res.append(x)
flatlist(listA)
print('Flattened List created: \n', res)

出力

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

Given nested list:
[[43, [0]], 12, 19, [13, [8, 8]], 21]
Flattened List created:
[43, 0, 12, 19, 13, 8, 8, 21]

  1. 文字のリストを文字列に変換するPythonプログラム

    Pythonはこの種の変換をたくさん必要とします。たとえば、このような変換はシリアル化の目的で役立ちます。このような変換の例は、-です。 ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'] to "hello world" Pythonには、このような変換に使用できる結合メソッドがあります。オブジェクトを連結するために使用される区切り文字列

  2. Pythonでリストをタプルに変換する方法は?

    タプル関数に渡すだけで、リストをタプルに変換できます。 例 my_list = [1, 2, 3] my_tuple = tuple(my_list) print(my_tuple) 出力 これにより、出力が得られます- (1, 2, 3)