python内置模块itertools
1 itertools
itertools提供了许多的函数来创建各种各样的迭代器,以便用于高效的循环和迭代操作
2 itertools函数
itertools.count(start=0, step=1)

执行

itertools.cycle(iterable)

如上,会不断循环输出11-14
itertools.repeat(object[, times])

执行

tertools.accumulate(iterable[, func, *, initial=None])

执行

itertools.chain(*iterables)


执行

itertools.compress(data, selectors)
创建一个迭代器,它返回 data 中经 selectors 真值测试为 True 的元素。迭代器在两者较短的长度处停止

执行

还有其他许许多多的函数


itertools.product(*iterables, repeat=1)
大概是iterables中所有所有item之间,所有可能性的排列组合

执行结果
[('a',), ('b',)]
[('a', 'a'), ('a', 'b'), ('b', 'a'), ('b', 'b')]
[('a', 'a', 'a'), ('a', 'a', 'b'), ('a', 'b', 'a'), ('a', 'b', 'b'), ('b', 'a', 'a'), ('b', 'a', 'b'), ('b', 'b', 'a'), ('b', 'b', 'b')]
[('a', 'a', 'a', 'a'), ('a', 'a', 'a', 'b'), ('a', 'a', 'b', 'a'), ('a', 'a', 'b', 'b'), ('a', 'b', 'a', 'a'), ('a', 'b', 'a', 'b'), ('a', 'b', 'b', 'a'), ('a', 'b', 'b', 'b'), ('b', 'a', 'a', 'a'), ('b', 'a', 'a', 'b'), ('b', 'a', 'b', 'a'), ('b', 'a', 'b', 'b'), ('b', 'b', 'a', 'a'), ('b', 'b', 'a', 'b'), ('b', 'b', 'b', 'a'), ('b', 'b', 'b', 'b')]

浙公网安备 33010602011771号