我有一个这样的清单:

list = [["r", 200], ["c,", 0.22], ["r", 5000]]


如何将元组与相同的第一项组合在一起,以便结果如下所示:

list = [["r", 5200], ["c", 0.22]]


有一些复杂的方法吗?元组的顺序无关紧要。

谢谢

最佳答案

使用内置功能:

lst = [["r", 200], ["c,", 0.22], ["r", 5000]]
res={}
for k,v in lst:
  res[k]=res.get(k, 0) + v
res
# {'r': 5200, 'c,': 0.22}


要获得原始类型的结果:

[[k, v] for k,v in res.iteritems()]
# [['r', 5200], ['c,', 0.22]]

关于python - 合并嵌套列表的第一个元素,然后对第二个元素求和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19379071/

10-14 06:59