【发布时间】:2021-07-05 14:33:49
【问题描述】:
我有一个清单:
x = [[17, 2], [18, 4], [17, 2], [18, 0], [19, 4],
[17, 4], [19, 4], [17, 4], [20, 4], [17, 4],
[20, 4], [17, 4], [17, 4], [18, 4], [17, 4]]
当第一个值相同时,我想对所有第二个值求和。
例如:17 = 28...
我尝试用 :
d = {}
for row in x:
if row[0] not in d:
d[row[0]] = []
d[row[0]].append(row[1])
结果是
{17: [2, 2, 4, 4, 4, 4, 4, 4],
18: [4, 0, 4], 19: [4, 4],
20: [4, 4]}
我没有找到对这些值求和的方法。
【问题讨论】:
-
你正在取所有数字的总和
-
由于您对总和而不是列表感兴趣,请将
d[row[0]] = []替换为d[row[0]] = 0并将d[row[0]].append(row[1])替换为d[row[0]] += row[1]以实际求和而不是列出它们。
标签: python dictionary math