python – Groupby列表中的多个列

前端之家收集整理的这篇文章主要介绍了python – Groupby列表中的多个列前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个列表,如下所示
[['H1','L','1']
['H1','S','1']
['H2','1']]

并希望基于column1和column2进行分组. python是否在列表中提供了我可以获得以下结果的任何内容

H1 L 1
H1 S 1
H2 L 2

解决方法

您可以使用 itertools.groupby,并将每个组的最后一列相加.
from itertools import groupby

out = []
for k,v in groupby(l,key=lambda x: x[:2]):
    s = sum([int(x[-1]) for x in v])
    out.append(k + [s])

print (out)
# [['H1',1],['H1',['H2',2]]

猜你在找的Python相关文章