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

Python-タプルの列の合計


Pythonにはさまざまなライブラリと関数が豊富に用意されているため、データ分析で非常に人気があります。分析のために、タプルのグループの1つの列の値を合計する必要がある場合があります。したがって、このプログラムでは、一連のタプルの同じ位置または同じ列に存在するすべての値を追加しています。

これは、次の方法で実現できます。

forループとzipの使用

forループを使用して、各アイテムをループし、zip関数を適用して各列から値を収集します。次に、sum関数を適用し、最終的に結果を新しいタプルに取得します。

data = [[(3, 92), (21, 4), (15, 6)],[(25, 62), (12, 7), (15, 7)]]

print("The list of tuples: " + str(data))
# using list comprehension + zip()
result = [tuple(sum(m) for m in zip(*n))
for n in zip(*data)]
print(" Column summation of tuples: " + str(result))

出力

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

The list of tuples: [[(3, 92), (21, 4), (15, 6)], [(25, 62), (12, 7), (15, 7)]]
Column summation of tuples: [(28, 154), (33, 11), (30, 13)]

マップとzipの使用

forループを使用せず、代わりにmap関数を使用しても、同じ結果を得ることができます。

data = [[(3, 92), (21, 4), (15, 6)],[(25, 62), (12, 7), (15, 7)]]

print("The list of tuple values: " + str(data))
# using zip() + map()
result = [tuple(map(sum, zip(*n)))
for n in zip(*data)]
print(" Column summation of tuples: " + str(result))

出力

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

The list of tuple values: [[(3, 92), (21, 4), (15, 6)], [(25, 62), (12, 7), (15, 7)]]
Column summation of tuples: [(28, 154), (33, 11), (30, 13)]

  1. Python zip()関数

    zip() 関数は、複数のイテレータをグループ化するために使用されます。 zip()のドキュメントをご覧ください ヘルプを使用して機能する 方法。次のコードを実行して、 zip()のヘルプを取得します 機能。 例 help(zip) 上記のプログラムを実行すると、次の結果が得られます。 出力 Help on class zip in module builtins: class zip(object)    | zip(iter1 [,iter2 [...]]) --> zip object    |    | Return

  2. Pythonタプル

    Pythonでは、タプルは順序付けられたコレクションです。 および不変 。つまり、タプルにアイテムを追加したり、タプルからアイテムを削除したりすることはできません。 括弧()を使用してタプルを作成します および少なくとも1つのコンマ( , ) 。 タプルは、スライスの結果もタプルになることを除いて、リストと同じようにインデックス付けおよびスライスできます。 タプルを作成する方法 colorsTuple = (red, green, blue) print(colorsTuple) 出力: (red, green, blue) 1つのアイテムのみでタプルを作成する タプルには少なくと