Python编程语言已经扩展了创新的每一个方面,包括机器学习、数据科学、人工智能等,这些概念是Python作为编程语言取得成功的基石。在本文中,我们将通过以下概念来理解Pytho
Python编程语言已经扩展了创新的每一个方面,包括机器学习、数据科学、人工智能等,这些概念是Python作为编程语言取得成功的基石。在本文中,我们将通过以下概念来理解Python迭代器:
迭代器与Iterable什么是Python迭代器?自定义迭代器无限迭代器停止迭代Python迭代器示例迭代器与Iterable
Python中可以用作Iterable对象的对象称为Iterable。这基本上意味着对象中的序列可以迭代。大多数Python集合,比如list、dictionary、tuple、set,甚至range,都可以看作是Iterable。
什么是Python迭代器
“Python迭代器是一个包含可数个值的容器。容器中的值可以使用迭代器(特别是列表)遍历。
除了遍历之外,迭代器还提供对容器中数据元素的访问,但它本身并不执行迭代,即,如果不使用该概念或术语的简单使用而获得一些重要的自由,则不会执行迭代。迭代器在行为上几乎类似于数据库游标。下面是Python中迭代器的一个简单示例。
我的目标是{“Edureka”,“Python”,“迭代器”}打印(下一个(iter_obj))对于对象中的i:印刷品(一)
让我们了解for循环如何作为迭代器工作。
#从该iterable创建迭代器对象#无限循环如果是真的:尝试:#获取下一个项目元素=下一个(iter_obj)除了停止迭代:打破MyNumber类:自我a=1下一个定义(自我):自身a =1my >输出:1
2
3
既然我们知道如何实现自定义迭代器,让我们看看Python中的无限迭代器。
无限迭代器
迭代器对象中的项不一定要用尽。可以有无限的迭代器(永不结束)。下面是演示无限迭代器的基本示例。
内置函数iter()可以用两个参数调用,其中第一个参数必须是可以调用的对象(函数),第二个参数是sentinel。迭代器调用这个函数,直到返回的值等于sentinel。
让我们举一个例子来理解这个
MyNumber类:定义(自我):回归自我 下一个定义(自我):自身a =1返回x my >输出:1 2 3 4 5
在上面的示例中,只要我们继续添加print语句,就可以继续执行。要停止无限迭代器,我们需要使用stopietition语句。
stopietition
要停止永远进行的迭代,我们需要使用stopietition语句。让我们通过几个例子来理解这个问题。
定义(自我):自我。a=1个 下一个定义(自我):如果self.a&;lt;=5:自我。a =1个其他: my >输出:Edureka
在本例中,我们使用元组作为iterable对象。
iter_obj=iter(我的目标)
输出:Edureka
我们甚至可以在python中将字符串用作iterable对象。
my_obj=“爱德华雷卡”打印(下一个(iter_obj))