我正在使用 Python 2.7 并尝试删除列表列表的重复项并合并重复项的值。
现在我有:
original_list = [['a', 1], ['b', 1], ['a', 1], ['b', 1], ['b', 2], ['c', 2], ['b', 3]]
我想匹配每个嵌套列表的第一个元素,然后添加第二个元素的值。我想以此结束(最终列表的顺序无关紧要):
ideal_output = [['a', 2], ['b', 7], ['c', 2]]
到目前为止,我有一些代码可以根据每个嵌套列表的第一个元素找到重复值:
for item in original_list:
matches = -1
for x in original_list:
if (item[0] == x[0]):
matches += 1
if matches >= 1:
if item[0] not in duplicates_list:
duplicates_list.append(item[0])
从这里我需要搜索 original_list 中的所有 duplicates_list 项目并将值相加,但我不确定最好的方法是什么。
原文由 e h 发布,翻译遵循 CC BY-SA 4.0 许可协议
很多好的答案,但他们都使用了比我为此更多的代码,所以这是我的看法,因为它的价值:
一旦你有了这样的字典,从这些答案中的任何一个,你可以使用
items
来获得一个(n object that acts like a)元组列表:并在元组中运行
list
以获得列表列表:如果你想让它们按顺序排序: