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

Pythonのインデックスに基づくマルチリストでリスト要素を追加する


リストはネストできます。つまり、大きなリスト内の要素として小さなリストがあります。この記事では、単純なリストの要素をネストされたリストの要素に追加するという課題を解決します。リストの長さが異なる場合、小さい方のリストの長さが結果のリストの最大長になります。

これを実現するためのさまざまな方法を以下に示します。

forループの使用

この方法では、小さい方のリストの長さを取得し、このリストの要素をループして、大きい方のリストの要素に追加します。ここでは、append関数を使用して、各要素を結果リストに追加します。

simple_list = [25, 35, 45, 55, 65]
nested_list = [[5,10], [10], [5,15], [25], [5,10,15],[5,6]]
result_list = []

for n in range(len(simple_list)):
   var = []
   for m in nested_list[n]:
      var.append(m + simple_list[n])
   result_list.append(var)
print("The first list :", simple_list)
print("The nested list :", nested_list)
print("Result :",result_list)

出力

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

The first list : [25, 35, 45, 55, 65]
The nested list : [[5, 10], [10], [5, 15], [25], [5, 10, 15], [5, 6]]
Result : [[30, 35], [45], [50, 60], [80], [70, 75, 80]]

enumerate()の使用

enumerate()関数は、listやtupleなどのコレクションを受け取り、それをenumerateオブジェクトとして返します。このアプローチでは、最初に列挙関数を使用して外側のforループを作成し、ネストされたリストの各要素を取得してから、内側のforループを介して単純なリストのそれぞれの要素に追加します。

simple_list = [25, 35, 45, 55, 65,25]
nested_list = [[5,10], [10], [5,15], [25], [5,10,15]]
result_list = []

# using enumerate
result_list = [[val + simple_list[p] for val in q] for p, q in enumerate(nested_list)]
print("The first list :", simple_list)
print("The nested list :", nested_list)
print("Result :",result_list)

出力

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

The first list : [25, 35, 45, 55, 65, 25]
The nested list : [[5, 10], [10], [5, 15], [25], [5, 10, 15]]
Result : [[30, 35], [45], [50, 60], [80], [70, 75, 80]]

zip()の使用

このアプローチでは、上記のプログラムを繰り返しますが、列挙する代わりにzip()を使用します。 zip()は、両方のリストを入力として受け取ります。

simple_list = [25, 35, 45, 55, 65,25]
nested_list = [[5,10], [10], [5,15], [25], [5,10,15]]
result_list = []

result_list = [[w + u for w in v ]for u, v in zip(simple_list, nested_list)]

print("The first list :", simple_list)
print("The nested list :", nested_list)
print("Result :",result_list)

出力

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

The first list : [25, 35, 45, 55, 65, 25]
The nested list : [[5, 10], [10], [5, 15], [25], [5, 10, 15]]
Result : [[30, 35], [45], [50, 60], [80], [70, 75, 80]]

  1. Pythonの値としてインデックスを持つ辞書

    この記事では、頻繁に使用される別のPythonコレクションであるlistから辞書を作成する方法を学習します。インデックスまたはキーはリストコンテンツの一部ではありません。ただし、辞書では、値と呼ばれるすべての要素にキーまたはインデックスを付加する必要があります。 列挙の使用 enumerate関数は、enumerateオブジェクトのキーとしてカウンターを追加します。したがって、これを特定のリストに適用し、forループを使用します。これにより、列挙関数によってキーが生成される必要な辞書が作成されます。 例 Alist = ['Mon', 'Tue', '

  2. インデックス作成を利用して、Pythonリストに要素を追加します

    Pythonリストは、順序付けられて変更可能なコレクションデータ型です。また、重複メンバーを許可します。これは、Pythonプログラムで使用される最も頻繁に使用されるコレクションデータ型です。インデックス機能を使用してリストに要素を追加する方法を見ていきます。 ただし、既存のリンクに要素を追加する前に、インデックス機能を使用してリスト内の要素にアクセスしましょう。 インデックスを使用したリストへのアクセス リスト内のすべての要素はインデックスに関連付けられており、それが要素の順序を維持する方法です。インデックスをループすることで要素にアクセスできます。以下のプログラムは、インデックス1と2