我有一个如下所示的数据列表结构:
[('a', 1),('a', 2),('b', 0),('b', 1),('c', 0)]
Run Code Online (Sandbox Code Playgroud)
如果第一项相同,我正在尝试组合元组的第二个值。(并删除重复项)
最终结果应该是:
[('a', 3),('b', 1),('c', 0)]
Run Code Online (Sandbox Code Playgroud)
我的方法是创建第二个空列表并检查列表中是否存在第一个元素,如果不存在则追加。否则循环遍历第二个列表,并将迭代中 [1] 项的值从第一个列表添加到第二个列表中的 [1] 项。我无法让我的概念发挥作用。如果有人有更有效的解决方案,我也愿意接受建议。
secondList = []
for item in firstList:
if (secondList.count(item[0]]):
secondList.append(item)
else:
for item_j in secondList:
if (item_j[0] == item[0]):
item_j[1] = item_j[1]+item[1]
Run Code Online (Sandbox Code Playgroud)