乐趣区

关于segmentfault:如何使用初始化种子和迭代函数生成列表

本篇浏览的代码实现应用一个初始化种子和迭代函数,通过嵌套函数对初始化种子进行迭代,最终生成一个列表。

image.png

1、unfold 函数承受迭代函数,并初始化种子,产生列表。

对函数 fn 进行迭代化解决,必须始终返回蕴含两个元素的列表 [value,nextSeed],或者返回 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 生成器,直到生成器退出,造成列表并返回。

以上就是 Python 中如何应用初始化种子和迭代函数生成列表的介绍,心愿对大家有所帮忙。更多 Python 学习指路:python 基础教程

退出移动版