Python生成器教程:掌握两种创建方法,高效处理大数据

创始人
2024-12-14 21:03:53
0 次浏览
0 评论

Python创建生成器的两种方法

创建一个生成方法

方法一

创建多个生成方法。
第一种方法很简单,只是把写的代号改一下(

创建者的L和G唯一的区别就是极端的[]和(),L是索引,G是我们可以直接打印L的每个元素,但是如果想逐个打印,可以通过next函数返回generator的下一个值:控制器将next(G)值保存到最后一个元素,当然,这种连续调用是不正常的,因此,在我们创建生成器之后,我们不会调用next(),也不会执行StopIteration。

相关推荐:《Python视频教程》

生成器是一个相对复杂的算法。

1,1,2,3,5,8,13,21,34,...

斐波那契数列不能使用生成列表来编写。
但是,使用函数打印它很容易:

运行结果:

仔细观察,您会发现该函数实际上可以使用斐波那契数列进行计算。
让我们从第一个元素开始,计算所有后续元素。

也就是说,上面的函数距离生成器仅一步之遥。
要将fib函数变成生成器,请将print(b)更改为yielddb:

输出运行:

在上面的tib示例中,我们处于一个进程循环中,如果继续,则调用,屈服,继续,我继续。
当然,你必须设置循环退出循环的条件,否则它们会无限计数。
同样,当将函数改为生成器时,我们通常不会使用next()来获取下一个返回值,而是直接用于循环:

运行结果:

但是当调用生成器而不是循环时,我发现无法获取生成器语句的返回值。
如果想获取返回值,需要捕获StopIterationError。
返回值包含在StopIteration值中:

运行结果:

结论:

几分钟内理解三个Python生成器

Python中生成器的理解?

9.10。
GeneratorGenerator是一个简单但功能强大的创建迭代器的工具。
它们的编写方式与常规函数类似,并在需要返回数据时使用Yield语句。
每次调用next()时,生成器都会返回到它停止的位置(它会记住语句上次执行的位置及其所有数据值)。
以下示例显示了创建生成器是多么容易:上一节中描述的基于类的迭代器可以执行生成器可以执行的所有操作。
生成器非常清晰,因为__iter__()和__next__()方法是自动创建的。
另一个重要的特性是局部变量和执行状态在执行之间自动保存。
这使得该函数比使用self.index和self.data更容易编写和更清晰。
除了创建和保存程序状态的自动方法之外,生成器退出时还会自动引发StopIteration异常。
总而言之,这些功能使得编写常规函数成为创建迭代器的最简单方法。
Generator是一个简单但功能强大的创建迭代器的工具。
它们的编写方式与常规函数类似,并在需要返回数据时使用Yield语句。
每次调用next()时,生成器都会返回到它停止的位置(它会记住语句上次执行的位置及其所有数据值)。
以下示例显示了创建生成器是多么容易:上一节中描述的基于类的迭代器可以执行生成器可以执行的所有操作。
生成器非常清晰,因为__iter__()和__next__()方法是自动创建的。
另一个重要的特性是局部变量和执行状态在执行之间自动保存。
这使得该函数比使用self.index和self.data等更容易编写和更清晰。
除了创建和保存程序状态的自动方法之外,生成器退出时还会自动引发StopIteration异常。
总而言之,这些功能使得编写常规函数成为创建迭代器的最简单方法。

一文带您理解Python生成器(generator):高效利用内存的奥秘

Python的构造函数是一个返回可遍历的对象/项列表的函数,一次创建一个对象而不是一次创建所有对象。
在迭代元素集合时运行生成器函数。
生成器函数使用throughput关键字,允许创建迭代器,并且适合处理大型数据集或当考虑内存效率时。
与常规函数相比,生成器创建迭代器的效率更高,仅在需要时才生成值,并且不会消耗太多内存。
生成器函数的创建方式与常规函数类似,使用“def”关键字,但使用return而不是return。
使用yield关键字告诉编译器生成器函数是一个迭代器。
生成器函数通过调用以下()函数来运行。
满足while条件后,该函数返回一个可迭代对象。
执行生成器函数返回生成器对象,而不是值列表。
当需要一个值时,通过下面的function()来获取。
Python中的生成器自动实现__iter__()和__next__()方法,并使用next()方法迭代这些对象。
执行多次后再次调用以下函数将引发StopIteration错误。
使用for循环迭代生成器的值列表是最简单的。
生成器表达式与for循环相结合来创建迭代器,从而简化了创建可迭代对象的过程。
生成器函数可以在其他函数中使用,例如(min,max)。
比较使用生成器表达式和列表推导式查找最小值的效率表明,生成器表达式在大规模情况下更有效。
总而言之,Python生成器是一种创建可逐个生成值的迭代器的有效方法,适合处理大量数据或需要考虑内存效率时。
通过Production关键字,__iter__()和__next__()方法会自动执行,与常规函数相比,生成器在内存效率方面表现出显着的优势。
文章标签:
Python 生成器
热门文章
1
Python中的format()方法:字... formatformat在python中的含义2222.22E+00Format...

2
Python编程入门:全面解析Pytho... python的基本语法基本的Python语法如下:1.变量的定义。在编程语言中,...

3
Python爱心绘制教程:使用turtl... python的爱心代码教程(python画爱心代码)绘制心形的Python代码我...

4
Python字符串大小写转换方法全解析 python中字母的大小写转换怎么实现?在Python中,大小写转换由内置函数处...

5
Python字典:轻松获取最小值键与计算... python在一个字典里,返回值最小元素对应的键,救解在Python字典中,如果...

6
Python字符串去重空格:strip(... Python去除字符串中空格(删除指定字符)的3种方法在Python编程中,处理...

7
Python数组元素数量计算技巧分享 Python输出数组有多少个元素?简介:在本文中,首席CTO笔记将向您介绍Pyt...

8
简述python中pass的作用 pass语句的作用在许多编程语言中,包括Python;PASS语句用于在代码块中...

9
Python def 关键字详解:函数定... def是什么意思编程?戴夫是什么意思?def是Python中的函数定义关键字,用...

10
python不区分大小写的方法 Python字符串不区分大小写在Python中,字符串操作默认区分大小写。但有时...