目录简介itertools,是python的一个内置模块,功能强大,主要用于高效循环创建迭代器。注意一点,他返回的不是list,而是iterator 无穷迭代器count()count(start, [step])会创建一个无限迭代器,从当前数字无限循环下去,停止可以按Ctrl+c键 cycle()cycle( p)会把传入的序列无限的循环打印 repeat()repeat(elem [,n])可以把一个元素无限循环 有限迭代器因为有限迭代器有十多个,这里只列举几个常用的函数 chain()chain(p,q…)可以把一组迭代对象串联起来,形成一个更大的迭代器 groupby()groupby(iterable,key=None])把迭代器中相邻的元素按照key函数分组,当key=None时,把相邻的重复元素进行分组 accumulate()accumulate(iterable [,func])是一个计算迭代器,如果不指定参数函数,将会采取默认的求和函数 也可以指定参数函数,比如求最大值 组合迭代器组合操作在算法中经常会用到,因此这里就体现出来itertools模块的便捷性 product()product(p,q,…[repeat=1])得到的是可迭代的笛卡尔积,多个可迭代对象的笛卡尔积可以通过for循环来实现,比如product(a,b)用for循环可以表示为
permutations()permutations(p[, r])返回的是一个长度为 r 的所有可能排列,无重复元素 combinations()combinations(p, r)返回的是一个长度为r的组合,它是有序的,无重复元素 combinations_with_replacement()combinations_with_replacement(p, r)返回的是一个长度为r的组合,它是有序的,元素可以重复 |
|
来自: YU304jx > 《Python相关》