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

ネストされたリストをタプルリストにフラット化するPythonプログラム


ネストされたリストをタプルリストにフラット化する必要がある場合、リストをパラメーターとして受け取り、「isinstance」メソッドを使用して要素が特定のタイプに属しているかどうかを確認するメソッドが定義されます。これに応じて、出力が表示されます。

以下は同じもののデモンストレーションです

def convert_nested_tuple(my_list):
   for elem in my_list:
      if isinstance(elem, list):
         convert_nested_tuple(elem)
      else:
         my_result.append(elem)
   return my_result

my_list = [[[(3, 62)]], [[[(57, 49)]]], [[[[(12, 99)]]]]]

print("The list is :")
print(my_list)

my_result = []
my_result = convert_nested_tuple(my_list)

print("The list is :")
print(my_result)

出力

The list is :
[[[(3, 62)]], [[[(57, 49)]]], [[[[(12, 99)]]]]]
The list is :
[(3, 62), (57, 49), (12, 99)]

説明

  • リストをパラメータとして受け取る「convert_nested_tuple」という名前のメソッドが定義されています。

  • リスト要素は繰り返されます。

  • 「isinstance」メソッドは、ネストされたリストのすべての要素がリストタイプに属しているかどうかを確認するために使用されます。

  • はいの場合、メソッドが呼び出されます。

  • それ以外の場合、要素は空のリストに追加されます。

  • これは結果として返されます。

  • メソッドの外部では、タプルのネストされたリストが定義され、コンソールに表示されます。

  • 空のリストが定義されています。

  • このメソッドは、前のタプルのリストをパラメーターとして渡すことによって呼び出されます。

  • 出力はコンソールに表示されます。


  1. Python-2Dリストをフラット化する方法

    リストは、順序付けられて変更可能なコレクションです。 Pythonでは、リストは角かっこで囲まれています。インデックス番号を参照してリストアイテムにアクセスします。負のインデックス付けとは、最後から始まることを意味し、-1は最後のアイテムを指します。範囲を開始する場所と終了する場所を指定することにより、インデックスの範囲を指定できます。範囲を指定すると、戻り値は指定された項目を含む新しいリストになります。 例 # using chain.from_iterables # import chain from itertools import chain ini_list = [[1, 2, 3]

  2. 3Dリストを作成するPythonプログラム。

    3Dリストは3D配列を意味します。このプログラムでは、整数要素を使用して3D配列を作成します。 例 Input: 3× 3 × 2 [[1,1,1],[2,2,2],[3,3,3]], [[4,4,4],[5,5,5],[6,6,6]] アルゴリズム Step 1: given the order of 3D list. Step 2: using for loop we create list and print data. サンプルコード # Python program to created 3D list import pprint def print3D(i,