-
itertools 官方文档
itertools是2.3版本加入的用于创建循环用迭代器的函数模块。
itertools 模块提供的迭代器函数有以下几种类型:
- 无限迭代器:生成一个无限序列,比如自然数序列
1, 2, 3, 4, ...
;
- 有限迭代器:接收一个或多个序列(sequence)作为参数,进行组合、分组和过滤等;
-
组合生成器:序列的排列、组合,求序列的笛卡儿积等;
-
itertools.product()官方文档
itertools.product(*iterables[, repeat]) # 对应有序的重复抽样过程
以元组的形式,根据输入的可遍历对象生成笛卡尔积,与嵌套的for循环类似。
repeat
是一个关键字参数,指定重复生成序列的次数。
示例:
import itertools
a = (1, 2, 3)
b = ('A', 'B', 'C')
c = itertools.product(a,b)
for elem in c:
print elem
(1, 'A')
(1, 'B')
(1, 'C')
(2, 'A')
(2, 'B')
(2, 'C')
(3, 'A')
(3, 'B')
(3, 'C')
- 高效的 itertools 模块
- 《利用Python进行数据分析》
- PYTHON-进阶-ITERTOOLS模块小结