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
原文地址:https://www.cnblogs.com/Ghostant/p/11857149.html