本篇阅读的代码实现使用一个初始化种子和迭代函数,通过嵌套函数对初始化种子进行迭代,最终生成一个列表。
1、
unfold函数接受迭代函数,并初始化种子,产生列表。
迭代函数 fn 必须始终返回一个二元素列表 [value, nextSeed],或者返回 False 以终止构建器函数。
2、
函数的unfold内部定义了构建器fn_generator。
此构建器使用 while 循环调用迭代器函数并生成一个值,直到它返回 False。最后通过列表导出,返回生成器函数生成的列表。
构建器是用于创建迭代器的简单但强大的工具。它像标准函数一样编写,但在要返回数据时使用 yield 语句。每当你在生成器上调用 next() 时,它都会从上次运行的地方恢复执行(它会记住上次执行语句时的所有数据值)。
fn_generator 用于在 while 语句末尾使用 yield 在当前 while 循环中返回 val[0] 的值。下次调用时,next循环继续,在next循环中返回val[0]的值,直到迭代函数fn返回false结束while循环。
对于展开函数的返回语句,使用列表导出不断调用fn_generator生成器,直到生成器退出,形成列表并返回。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何在python中截取字符串08/13
- ♥ 如何用python绘制表格?09/16
- ♥ python中elif语句报错是什么原因09/29
- ♥ 看完这篇Python装饰器详解,不知道怎么做就无能为力了12/04
- ♥ 如何在python中旋转图片和压缩像素12/15
- ♥ python hill sort的用法10/18
内容反馈