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

再帰を使用せずにリストをフラット化するPythonプログラム


再帰手法を使用せずにリストをフラット化する必要がある場合は、ラムダ関数、「sum」メソッド、「map」メソッド、および「isinstance」メソッドを使用できます。

リストを使用して、異種の値(つまり、整数、浮動小数点、文字列などの任意のデータ型のデータ)を格納できます。

「isinstance」メソッドは、特定のパラメータが特定のデータ型に属しているかどうかを確認します。

匿名関数は、名前なしで定義される関数です。一般に、Pythonの関数は「def」キーワードを使用して定義されますが、無名関数は「lambda」キーワードを使用して定義されます。単一の式を取りますが、任意の数の引数を取ることができます。式を使用して、その結果を返します。

map関数は、特定の関数/操作を反復可能オブジェクト(リスト、タプルなど)のすべてのアイテムに適用します。結果としてリストを返します。

「sum」メソッドは、反復可能オブジェクトに存在する数値を追加します。

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

my_list = [[[11,[[32]],[[[53]]]],[[64],75]], [[6, 89, 99]]]
flattened_list = lambda my_list: sum(map(flattened_list,my_list),[]) if isinstance(my_list,list) else [my_list]
print("The original list is : ")
print(my_list)
print("The flattened list is :")
print(flattened_list(my_list))

出力

The original list is :
[[[11, [[32]], [[[53]]]], [[64], 75]], [[6, 89, 99]]]
The flattened list is :
[11, 32, 53, 64, 75, 6, 89, 99]

説明

  • ネストされたリストが定義され、コンソールに表示されます。
  • 要素は「sum」メソッドを使用して合計され、これは「map」メソッドを使用してすべての要素に適用されます。
  • この操作の結果は変数に割り当てられます。
  • コンソールに出力として表示されます。

  1. 再帰を使用して文字列を逆にするPythonプログラム

    再帰手法を使用して文字列を反転する必要がある場合は、ユーザー定義のメソッドが再帰とともに使用されます。 再帰は、より大きな問題の小さなビットの出力を計算し、これらのビットを組み合わせて、より大きな問題の解決策を提供します。 例 以下は同じのデモンストレーションです- def reverse_string(my_string):    if len(my_string) == 0:       return my_string    else:       return reverse_str

  2. タプルリストをPythonで文字列にフラット化

    タプルのリストを文字列形式にフラット化する必要がある場合は、「str」メソッドと「strip」メソッドを使用できます。 リストを使用して、異種の値(つまり、整数、浮動小数点、文字列などの任意のデータ型のデータ)を格納できます。 タプルのリストには、基本的にリストで囲まれたタプルが含まれています。 stripメソッドは、特定の文字/値を削除します。 strメソッドは、指定されたデータ型を文字列データ型に変換します。 以下は同じのデモンストレーションです- 例 my_list = [(11, 14), (54, 56), (98, 0), (13, 76)] print("The