[英]Summing repeated elements of list of tuples
假設我有一個元組列表,例如
[('a', 1), ('a', 1), ('a', 1), ('b', 2), ('e', 3), ('e', 3), ('g', 4), ('b', 1)]
我怎樣才能得到一個像這樣的元組列表
[('a', 3), ('b', 3), ('e', 6), ('g', 4)]
其中重復元素具有逗號求和后的值,並且該求和值放置在新元組列表中現在唯一元素之后。
您可以使用字典和dict.get(letter, 0)
對每個字母的值求和,然后將 output dict
作為元組列表。
data = [('a', 1), ('a', 1), ('a', 1), ('b', 2), ('e', 3), ('e', 3), ('g', 4), ('b', 1)]
def combine(data):
output = {}
for letter, number in data:
output[letter] = output.get(letter, 0) + number
return list(output.items())
print(combine(data))
#[('a', 3), ('b', 3), ('e', 6), ('g', 4)]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.