专业人士笔记”系列目录:创帆云:Python成为专业人士笔记--强烈建议收藏!每日持续更新!zhuanlan.zhihu.com
在Python中,itertools.groupby()方法允许开发人员根据指定的key来对可迭代类的值进行分组,并可对分组后的组内数据进行组内计算
元组列表分组
在这个例子中,我们可以看到使用不同类型的iterable时会发生什么。
#此段代码,按照元组列表中每个元素的第一个项作为key进行分组
from itertools import groupby
things = [("animal", "bear"), ("animal", "duck"), ("plant", "cactus"), ("vehicle", "harley"),
("vehicle", "speed boat"), ("vehicle", "school bus")]
dic = {}
f = lambda x: x[0] #匿名函数,用于传入x值并返回x元素的索引为0的元素
for key, group in groupby(sorted(things, key=f), f):
dic[key] = list(group)
print(dic)
#输出:
{'animal': [('animal', 'bear'), ('animal', 'duc