迭代器
迭代是Python最强大的功能之一,是访问序列元素的一种方式。
迭代器是一个可以记住遍历的位置的对象。
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器有两个基本的方法:iter() 和 next()。
字符串,列表或元组等可迭代对象都可用于创建迭代器:
1 a = [1, 2, 3, 4] 2 b = 'python' 3 4 it_a = iter(a) 5 it_b = iter(b) 6 print(type(it_a), type(it_b)) 7 8 print(next(it_a)) 9 print(it_a.__next__()) 10 11 print(next(it_b)) 12 print(it_b.__next__())
<class 'list_iterator'> <class 'str_iterator'> 1 2 p y
迭代器可用常规for循环进行遍历:
1 a = [1, 2, 3, 4] 2 3 it_a = iter(a) 4 for i in it_a: 5 print(i)
1 2 3 4
也可以使用next()函数进行访问元素:
1 import sys 2 3 a = [1, 2, 3, 4] 4 it_a = iter(a) 5 6 while True: 7 try: 8 print(next(it_a)) 9 except StopIteration: 10 sys.exit()
1 2 3 4
关于迭代器更多的用法 http://python3-cookbook.readthedocs.io/zh_CN/latest/chapters/p04_iterators_and_generators.html