我考了两次不同的考试,成绩也不一样。 我将这两个测试存储在一个单独的列表中。如何合并这两个列表并得到最终结果?你知道吗
returnn = sorted(returnscore, key=itemgetter('score'), reverse=True)
for rij in returnn:
print rij
输出:
{'E-mail': 'tim@gmail.com', 'score': 10}
{'E-mail': 'tim@gmail.com', 'score': 10}
{'E-mail': 'tim@gmail.com', 'score': 10}
{'E-mail': 'tim@gmail.com', 'score': 10}
{'E-mail': 'hihallo@gmail.com', 'score': 5}
{'E-mail': 'noreply@com', 'score': 5}
{'E-mail': 'marketing@nl', 'score': 5}
spff = sorted(spfscore, key=itemgetter('score'), reverse=True)
for rij in spff:
print rij
输出:
{'E-mail': 'tim@gmail.com', 'score': 3}
{'E-mail': 'tim@gmail.com', 'score': 0}
{'E-mail': 'tim@gmail.com', 'score': 7}
{'E-mail': 'tim@gmail.com', 'score': 0}
{'E-mail': 'hihallo@gmail.com', 'score': 0}
{'E-mail': 'noreply@com', 'score': 0}
{'E-mail': 'arketing@nl', 'score': 1}
我想要的输出是:
{'E-mail': 'tim@gmail.com', 'score': 50}
{'E-mail': 'hihallo@gmail.com', 'score': 5}
{'E-mail': 'noreply@com', 'score': 5}
{'E-mail': 'arketing@nl', 'score': 6}
我已经想了几个小时了。我只是不明白 我如何计算分数和删除重复后。你知道吗
一种简单的方法是创建一个新的dict对象,其中包含电子邮件地址作为它的(唯一)键,然后遍历列表,如果元素已经在列表中,则增加分数计数;如果电子邮件地址还没有在dict中,则创建带有分数计数的dict条目
输出:
{'tim@gmail.com': 40, 'hihallo@gmail.com': 5, 'noreply@com': 5, 'marketing@nl': 5}
使用itertools中groupby的另一种方法
结果:
相关问题 更多 >
编程相关推荐