Python中的迭代器

Posted GhostAnt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中的迭代器相关的知识,希望对你有一定的参考价值。

python中的序列对象 str、list、tuple、set、dict都是可迭代对象。

要注意,这些可迭代对象本身不是迭代器对象。


可迭代对象通过调用.__iter__可返回一个迭代器对象。

迭代器通过调用.__next__方法返回迭代器对象中的一个元素。

注意:

  1、迭代器对象一定是可迭代对象

  2、可迭代对象不一定是迭代器对象(如list是可迭代对象,而不是迭代器对象,需要通过调用__iter__返回一个迭代器对象。而通过open(file)返回的file对象,本身即是可迭代对象也是迭代器对象)

mylist = [0, 1, 2, 3,]

iter_mylist = mylist.__iter__()
print(iter_mylist)

# ==> <list_iterator object at 0x000001FFF8A6A748>

 

print(iter_mylist.__next__())
print(iter_mylist.__next__())
print(iter_mylist.__next__())
print(iter_mylist.__next__())
# ==>
0
1
2
3

 

 

 

 

 

 

 

以上是关于Python中的迭代器的主要内容,如果未能解决你的问题,请参考以下文章

python中的闭包,迭代器.

python中迭代器(转)

Lambda 作为 Python 中的迭代器在第一次迭代时返回函数对象

Python中的迭代器

python学习之-迭代器

如何在python中保存迭代器的状态?