itertools是2.3版本加入的用于创建循环用迭代器的函数模块。

itertools 模块提供的迭代器函数有以下几种类型:

  • 无限迭代器:生成一个无限序列,比如自然数序列 1, 2, 3, 4, ...

在这里插入图片描述

  • 有限迭代器:接收一个或多个序列(sequence)作为参数,进行组合、分组和过滤等;

    在这里插入图片描述

  • 组合生成器:序列的排列、组合,求序列的笛卡儿积等;

在这里插入图片描述

itertools.combinations(iterable[, r]

创建一个迭代器,返回iterable中所有长度为r的子序列,返回的子序列中的项按输入iterable中的顺序排序 (不带重复).

r 指定生成排列的元素的长度,如果不指定,则默认为可迭代对象的元素长度。

对应组合概念。

>>> from itertools import combinations
>>>
>>> list(combinations('ABC', 2))
[('A', 'B'), ('A', 'C'), ('B', 'C')]

  • Reference

  1. 高效的 itertools 模块
  2. 《利用Python进行数据分析》
  3. PYTHON-进阶-ITERTOOLS模块小结
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐