欢迎来到Louis的博客

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。
扩大
缩小

Python - 迭代器(iterator)

迭代器

迭代是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

posted on 2018-01-05 17:53  Louiszj  阅读(289)  评论(0编辑  收藏  举报

导航