mylist=[(3, 'a'), (7, 'b'), (4, 'a'), (5, 'c'), (2, 'a'), (1, 'b')]
import itertools
[(sum(i[0] for i in group), key) for key, group in itertools.groupby(sorted(mylist, key = lambda i: i[1]), lambda i: i[1])]
[(9, 'a'), (8, 'b'), (5, 'c')]
本文介绍了一种使用Python的itertools库进行列表元素分组,并按分组求和的高级技巧。通过示例代码展示了如何对带有元组的列表进行排序、分组和求和,适用于数据处理和分析场景。
mylist=[(3, 'a'), (7, 'b'), (4, 'a'), (5, 'c'), (2, 'a'), (1, 'b')]
import itertools
[(sum(i[0] for i in group), key) for key, group in itertools.groupby(sorted(mylist, key = lambda i: i[1]), lambda i: i[1])]
[(9, 'a'), (8, 'b'), (5, 'c')]
2245

被折叠的 条评论
为什么被折叠?