詹惠儿

2018-12-03   阅读量: 609

数据分析师 Python编程 Python数据分析

Python的可迭代和迭代器是什么?

扫码加入数据分析学习群

Iterable是一个可以迭代的对象。它传递给iter()方法时会生成一个迭代器。Iterator是一个对象,用于使用__next __()方法迭代可迭代对象。迭代器有 __next__() 方法,它返回对象的下一个项目。
请注意,每个迭代器也是可迭代的,但并非每个迭代都是迭代器。例如,列表是可迭代的,但列表不是迭代器。可以使用该函数从迭代中创建迭代器iter()。为了实现这一点,对象的类需要一个__iter__返回迭代器的__getitem__方法,或一个序列索引从0开始的方法。

for city in ["Berlin", "Vienna", "Zurich"]:

print(city)

print("\n")

for city in ("Python", "Perl", "Ruby"):

print(city)

print("\n")

for char in "Iteration is easy":

print(char, end = " ")

当执行for循环时,对于iter()对象的语句调用,它应该循环。如果此调用成功,则iter调用将返回定义方法的迭代器对象,__next__()该对象一次访问一个对象的元素。如果没有其他可用元素,该__next__()方法将引发StopIteration异常。一旦捕获到StopIteration异常,for循环就会终止。

让我们__next__()使用next()内置函数调用该方法。

# list of cities

cities = ["Berlin", "Vienna", "Zurich"]

# intialize the object

iterator_obj = iter(cities)

print(next(iterator_obj))

print(next(iterator_obj))

print(next(iterator_obj))

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0000 0 1 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子