Python 代码范例,Python库文档中itertools
章的Itertools Recipes
部分很精彩,基本定义后面跟着一系列范例,逻辑清晰且实用性强。这里不会重复文档中的内容,而是直接给出出处。学习Python函数式编程,这部分文档属于必读内容。
Python标准库文档10.1.2节“Itertools Recipes”是非常好的学习资源,见https://docs.python.org/3/library/itertools.html#itertools-recipes。
需要说明的是,这里列出的范例都不是itertools
模块中可以导入的函数,如果想在自己开发的应用中使用这些范例,需要阅读代码并理解原理,然后通过复制、修改来使用代码。
下面的表格总结了基于itertools
模块中的基本函数实现的一些函数式编程范例。
函数名 | 参数列表 | 返回结果 |
---|---|---|
powerset |
(iterable) |
生成输入参数iterable 的所有子集,每个子集是一个元组对象,不是集合实例 |
random_product |
(*args, repeat=1) |
从itertools.product(*args, **kwds) 随机返回部分值 |
random_permutation |
(iterable, r=None) |
从itertools.permutations(iterable, r) 随机返回部分值 |
random_combination |
(iterable, r=None) |
从itertools.combinations(iterable, r) 随机返回部分值 |