标签:
迭代器是访问集合元素的一种方式
迭代器是一个可以记住遍历的位置的对象。
迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
迭代器有两个基本的方法:iter() 和 next()
字符串,列表或元组对象都可用于创建迭代器
特点:
>>> li = [1,2,3] >>> it = iter(li) >>> print(next(it)) 1 >>> print(next(it)) 2 >>> print(next(it)) 3
迭代器可以使用for循环进行遍历
>>> li = [1,2,3] >>> it = iter(li) >>> for i in it: ... print(i) ... 1 2 3
一个函数调用时返回一个迭代器,那这个函数就叫做生成器(generator)
如果函数中包含yield语法,那这个函数就会变成生成器
生成器运作:
当达到一个真正的返回或者函数结束没有更多值返回(当调用next()),一个StopIteration异常就会抛出
def func(): yield 1 yield 2 yield 3 yield 4
>>> temp = func() >>> temp.__next__() 1 >>> temp.__next__() 2 >>> temp.__next__() 3 >>> temp.__next__() 4 >>> temp.__next__() Traceback (most recent call last): File "<stdin>", line 1, in <module> StopIteration
def frang(n): start = 0 while start < n: yield start start += 1 valu = frang(5) n1 = valu.__next__() n2 = valu.__next__() print(n1,n2)
标签:
原文地址:http://www.cnblogs.com/jl-bai/p/5539630.html