本篇浏览的代码实现应用一个初始化种子和迭代函数,通过嵌套函数对初始化种子进行迭代,最终生成一个列表。
1、unfold函数承受迭代函数,并初始化种子,产生列表。
对函数fn进行迭代化解决,必须始终返回蕴含两个元素的列表,或者返回False以终止构建器函数。
2、函数的unfold外部定义了构建器fn_generator。
这个构建器应用while循环调用迭代器函数并生成一个值,直到它返回False。最终通过列表导出,返回生成函数生成的列表。
构建器是一个简略但功能强大的创立迭代器的工具。其书写形式与规范函数类似,然而在要返回数据时应用yield语句。每当您对生成器调用next()时,它将从最初一次运行的地位复原执行(它将记住最初一次执行语句时的所有数据值)。
fn_generator是用于while语句完结时应用yield返回以后while循环中val[0]的一个值。下次调用时,下一个循环持续进行,在下一个循环中持续返回val[0]的值,直到该迭代函数fn返回false完结while循环。
对于unfold函数的return语句,应用list导出不停地调用fn_generator生成器,直到生成器退出,造成列表并返回。
以上就是本次分享的全部内容,当初想要学习编程的小伙伴指路搞代码,欢送各位的到来哦~