按列表中的多列分组

阿杰·辛格(Ajay Singh):

我有一个清单如下

[['H1','L', '1']
['H1','S', '1']
['H2','L', '1']
['H2','L', '1']]

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

H1 L 1
H1 S 1
H2 L 2
Ghilas BELHADJ:

您可以使用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', 'L', 1], ['H1', 'S', 1], ['H2', 'L', 2]]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章