itertools中有一组用于许多常见数据算法的生成器,其中groupby可以接受任何序列和一个函数,它根据函数的返回值对序列中的连续元素进行分组。
标准调用:
import itertools
itertools.groupby(序列,函数)
举一个根据字符串首字母进行分类的例子:
import itertools
first_letter = lambda x: x[0]
names = ['Alan', 'Adam', 'Wes', 'Will', 'Albert', 'Steven']
for letter, names in itertools.groupby(names, first_letter):
print(letter, list(names))
输出结果:
A ['Alan', 'Adam']
W ['Wes', 'Will']
A ['Albert']
S ['Steven'
引申:经常用到的itertools函数