📜  Python|元组列表的分组求和

📅  最后修改于: 2022-05-13 01:55:11.636000             🧑  作者: Mango

Python|元组列表的分组求和

很多时候,我们得到一个元组列表,我们需要对其键进行分组,并在分组时执行某些操作。最常见的操作是加法。让我们讨论可以执行此任务的某些方式。除了添加之外,还可以通过做一些小的更改来执行其他操作。

方法:使用Counter() + "+" operator

可以使用 Counter函数执行此任务,因为它在内部分组,并且可以使用加法运算符来指定分组结果的功能。

# Python3 code to demonstrate
# group summation of tuple list 
# using Counter() + "+" operator
from collections import Counter
  
# initializing list of tuples
test_list1 = [('key1', 4), ('key3', 6), ('key2', 8)]
test_list2 = [('key2', 1), ('key1', 4), ('key3', 2)]
  
# printing original lists
print("The original list 1 : " + str(test_list1))
print("The original list 2 : " + str(test_list2))
  
# using Counter() + "+" operator
# group summation of tuple list 
cumul_1 = Counter(dict(test_list1))
cumul_2 = Counter(dict(test_list2))
cumul_3 = cumul_1 + cumul_2   
res = list(cumul_3.items())
  
# print result
print("The grouped summation tuple list is : " + str(res))
输出 :
The original list 1 : [('key1', 4), ('key3', 6), ('key2', 8)]
The original list 2 : [('key2', 1), ('key1', 4), ('key3', 2)]
The grouped summation tuple list is : [('key2', 9), ('key1', 8), ('key3', 8)]