python – Groupby列表中的多个列

我有一个列表,如下所示 [[H1,L, 1][H1,S, 1][H2,L, 1][H2,L, 1]] 并希望基于column1和column2进行分组. python是否在列表中提供了我可以获得以下结果的任何内容 H1 L 1H1 S 1H2 L 2 您可以使用 itertools.groupby,并将每个组的最后一列相加. from it

我有一个列表,如下所示

[['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]]

作者: dawei

【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部