首页 Python python – Groupby列表中的多个列

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

本文来自网络,不代表云浮站长网立场。转载请注明出处: https://www.0766zz.com/html/kaifa/python/20200916/10367.html
上一篇
下一篇

作者: dawei

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

为您推荐

返回顶部