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

マルチリスト内の同じインデックスにあるPythonグループ要素


このチュートリアルでは、同じインデックスの異なるリストの要素を1つのリストに結合するプログラムを作成します。そして、ここには1つの制約があります。すべてのリストは同じ長さである必要があります。それをより明確に理解するために例を見てみましょう。

入力

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

出力

[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

さまざまな方法で解決できます。通常のループで解決する方法を見てみましょう。

  • リストを使用してリストを初期化します。
  • 空のリストを初期化します。
  • 変数のインデックスを初期化します 0に。
  • サブリストの長さの回数を繰り返します
    • 前のリストに空のリストを追加します
    • リストの長さの時間を反復します。
      • **リスト[current_index][インデックス]**を**結果[インデックス]
      • に追加します
  • 結果を印刷します。

# initializing the list
lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# empty list
result = []
# variable to 0
index = 0
# iterating over the sub_list length (3) times
for i in range(len(lists[0])):
   # appending an empty sub_list
   result.append([])
   # iterating lists length (3) times
   for j in range(len(lists)):
      # adding the element to the result
      result[index].append(lists[j][index])
# moving to the next index
index += 1
# printing the result
print(result)

出力

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

[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

zipを使用して解決できます 手間をかけずに機能します。 zip 関数は、必要に応じてタプル内のすべてのインデックス要素を提供します。コードを見てみましょう。

# initializing the list
lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# using the zip and printing it
print(list(zip(*lists)))

出力

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

[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

リストを反復処理することで、タプルをリストに変換できます。別の方法で行うことができます。マップと呼ばれる別の関数を使用します すべてのタプルをリストに変換します。 1行のコードです。

# initializing the list
lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# using the zip and printing it
print(list(map(list, zip(*lists))))

出力

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

[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

マップを使用しました リストを反復処理し、各タプルをリストに変換します。ループでも同じことができます。試してみてください。

結論

チュートリアルで疑問がある場合は、コメントセクションでそれらについて言及してください。


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

    リストはネストできます。つまり、大きなリスト内の要素として小さなリストがあります。この記事では、単純なリストの要素をネストされたリストの要素に追加するという課題を解決します。リストの長さが異なる場合、小さい方のリストの長さが結果のリストの最大長になります。 これを実現するためのさまざまな方法を以下に示します。 forループの使用 この方法では、小さい方のリストの長さを取得し、このリストの要素をループして、大きい方のリストの要素に追加します。ここでは、append関数を使用して、各要素を結果リストに追加します。 例 simple_list = [25, 35, 45, 55, 65] nes

  2. Python-リスト内のすべての要素が同じかどうかを確認します

    リスト要素としてリスト内で1つの単一の値が繰り返されているかどうかを確認する必要がある場合があります。以下のPythonプログラムを使用して、このようなシナリオを確認できます。さまざまなアプローチがあります。 forループの使用 このメソッドでは、リストから最初の要素を取得し、従来のforループを使用して、各要素を最初の要素と比較し続けます。値がどの要素とも一致しない場合、ループから抜け出し、結果はfalseになります。 例 List = ['Mon','Mon','Mon','Mon'] result = True # Get