python列表如何合并并把values相加

a=[['A','B',2.0],['B','C',2.0],['C','D',71.99],['C','B',267.7],['A','B',26.95],['D','... a=[['A', 'B', 2.0],
['B', 'C', 2.0],
['C', 'D', 71.99],
['C', 'B', 267.7],
['A', 'B', 26.95],
['D', 'C', 2.6328],
['B', 'D', 23.262],
['D', 'A', 10.0],
['B', 'C', 3.9331]]

如何得到
b=[['A', 'B', 28.95],
['B', 'C', 5.9331],
['C', 'D', 71.99],
['C', 'B', 267.7],
['D', 'C', 2.6328],
['B', 'D', 23.262],
['D', 'A', 10.0]]

谢谢 ['C', 'B', 267.7],
['A', 'B', 26.95],
['D', 'C', 2.6328],
['B', 'D', 23.262],
['D', 'A', 10.0],
['B', 'C', 3.9331]]

如何得到
b=[['A', 'B', 28.95],
['B', 'C', 5.9331],
['C', 'D', 71.99],
['C', 'B', 267.7],
['D', 'C', 2.6328],
['B', 'D', 23.262],
['D', 'A', 10.0]]

谢谢
展开
 我来答
我心我在
2018-03-13 · TA获得超过2157个赞
知道小有建树答主
回答量:784
采纳率:77%
帮助的人:627万
展开全部
a = [
     ['A', 'B', 2.0],
     ['B', 'C', 2.0],
     ['C', 'D', 71.99],
     ['C', 'B', 267.7],
     ['A', 'B', 26.95],
     ['D', 'C', 2.6328],
     ['B', 'D', 23.262],
     ['D', 'A', 10.0],
     ['B', 'C', 3.9331]
     ]

res = {}
for i in a:
     if res.has_key(tuple(i[:2])):
          res[tuple(i[:2])]=res[tuple(i[:2])]+i[2]
     else:
          res[tuple(i[:2])] = i[2]
result=[]
for k,v in res.items():
     result.append([k[0],k[1],v])
print result
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式