繁体   English   中英

在一列的二维列表中查找重复项并在另一列中求和值

[英]Finding duplicates in a 2d list in a columns and summing values in another column

我正在寻找这样

解决方案涉及字典的使用,但有什么方法可以仅使用列表/2d 列表而不是字典或熊猫来实现?

谢谢!

我试图创建一个单独的重复项列表,并将重复项与原始列表中的重复项进行匹配。 然后我能够提取重复项的索引和第二列中的索引。 我不太确定如何进行。

可能有优化的空间,但至少它有效:

player_stats = [['Adam', 5, 10], ['Kyle', 12, 18], ['Jo', 20, 35], ['Adam', 15, 20], ['Charlie', 31, 58], ['Jo', 6, 14], ['Adam', 10, 15]]

crunched_stats = []
for entry in player_stats:
    player = entry[0]
    player_list = [p for p in player_stats if p[0] == player ]
    p_tot_stats = [player, sum([p[1] for p in player_list]), sum([p[2] for p in player_list])]
    if p_tot_stats not in crunched_stats:
        crunched_stats.append(p_tot_stats)
        
print(crunched_stats)

# [['Adam', 30, 45], ['Kyle', 12, 18], ['Jo', 26, 49], ['Charlie', 31, 58]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM