gpt4 book ai didi

按第一个分组的元组列表中元组的第二个和第三个元素的 Python 总和

转载 作者:太空宇宙 更新时间:2023-11-04 08:38:18 28 4
gpt4 key购买 nike

如何获得按第一个值分组的元组列表中第二个和第三个值的总和?

即:

list_of_tuples = [(1, 3, 1), (1, 2, 4), (2, 1, 0), (2, 2, 0)]

expected_output = [(1, 5, 5), (2, 3, 0)]

我找到了几个 great answers在 StackOverflow 上执行此操作发现具有两个值的元组,但无法弄清楚如何调整它们以求和第二个和第三个值。

第二个值的一个很好的答案是:

def sum_pairs(pairs):
sums = {}
for pair in pairs:
sums.setdefault(pair[0], 0)
sums[pair[0]] += pair[1]
return sums.items()

最佳答案

你也可以这样做:

list_of_tuples = [(1, 3, 1), (1, 2, 4), (2, 1, 0), (2, 2, 0)]

# create empty dictionary to store data
sums = {}

# iterate over list of typles
for pair in list_of_tuples:

# create new item in dictionary if it didnt exist
if pair[0] not in sums: sums[pair[0]] = [pair[0], 0 ,0]

# sum the values
sums[pair[0]][1] += pair[1]
sums[pair[0]][2] += pair[2]

#print resulting tuple
print(tuple(sums.values()))

关于按第一个分组的元组列表中元组的第二个和第三个元素的 Python 总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46982671/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com