Python的内建模块itertools
提供了非常有用的用于操作迭代对象的函数
groupby:把迭代器中相邻的重复元素挑出来放在一起
import itertoolsfor key, group in itertools.groupby('AAABBBCCAAA'): print(key, list(group))
返回结果
实际上挑选规则是通过函数完成的,只要作用于函数的两个元素返回的值相等,这两个元素就被认为是在一组的,而函数返回值作为组的key。如果我们要忽略大小写分组,就可以让元素'A'
和'a'
都返回相同的key:
import itertoolsfor key, group in itertools.groupby('AaaBBbcCAAa',lambda c: c.upper()): print(key, list(group))