【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!版权所有,侵权必究!
[返回Python教程首页]
迭代器
迭代器Iterator可以记住遍历的位置的对象,从第一个元素开始访问,然后依次访问直到所有的元素都被遍历。迭代器只能往前不会后退,有两个基本方法:iter()
和next()
。iter()
用来创建迭代器,next()
用来访问迭代器的下一个元素。字符串、列表或元组对象都能用来创建迭代器,同时也支持for
循环遍历,例如:
>>> list = [1,2,3]
>>> iter_list = iter(list) #iter()读取列表创建迭代器
>>> print(next(iter_list))
1
>>> print(next(iter_list))
2
>>> print(next(iter_list))
3
>>> print(next(iter_list)) #上一步已经遍历完成,再次调用next()会报StopIteration的错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
>>> str = "abc"
>>> iter_str = iter(str) #iter()读取字符串创建迭代器
>>> print(next(iter_str))
a
>>> print(next(iter_str))
b
>>> print(next(iter_str))
c
>>> tuple = (4,5,6)
>>> iter_tup = iter(tuple) #iter()读取元组创建迭代器
>>> for var in iter_tup: #for循环遍历元组
... print(var)
...
4
5
6