Python 迭代器(Iterator)和可迭代(Iterable)

什么是迭代器?它是一个带状态的对象,在你调用next()方法的时候返回容器中的下一个值,任何实现了__iter__和__next__()(python2中实现next())方法的对象都是迭代器,__iter__返回迭代器自身,__next__返回容器中的下一个值,如果容器中没有更多元素了,则抛出StopIteration异常。可迭代对象实现了__iter__方法,该方法返回一个迭代器对象,本文主要介绍Python 迭代器(Iterator)和可迭代(Iterable)。

Python 常用术语

1、迭代器(Iterator)和可迭代(Iterable)

列表,元组,字典和集合都是可迭代的对象。 它们是可迭代的容器,可以从中获得迭代器。

所有这些对象都有一个iter()方法,该方法用于获取迭代器:

例如:

从元组返回一个迭代器,并输出每个值:

mytuple = ("c", "java", "python")
myit = iter(mytuple)

print(next(myit))
print(next(myit))
print(next(myit))

字符串也是可迭代对象,可以返回迭代器:

例如:

字符串可以当作字符列表:

mystr = "python"
myit = iter(mystr)

print(next(myit))
print(next(myit))
print(next(myit))
print(next(myit))
print(next(myit))
print(next(myit))

相关文档:

Python 迭代器教程

Python 迭代器(Iterator)

Python 迭代器(Iterator)和可迭代(Iterable)

Python 遍历迭代器

Python 定义迭代器

Python 迭代器中的StopIteration

Python 常用术语

推荐阅读
cjavapy编程之路首页