我有一个列表列表,如:[[foo,1],[baz,1],[foo,0],[bar,3],[foo,1],[bar,2],[baz,2]].我想获取内部列表中的所有不同项目并找到它们的总数.我的意思是结果应该是:[[foo,2],[bar,5],[baz,3]].我该怎么做这个任务?
提前致谢.
创建一个字典
D = {}
for item in list:
left,right=item
D[left] = D.get(left, 0) + right
Run Code Online (Sandbox Code Playgroud)
可能有更快的方法来做到这一点.
正如Joce,Gnibbler和Blair的评论中所建议的,你可以这样做再次获得一份清单.
# To get a list of lists
pairs = map(list, D.items())
# To get a list of tuples
pairs = D.items()
Run Code Online (Sandbox Code Playgroud)