python_迭代器和生成器
迭代器和生成器
1、迭代器
特点:
- 访问者不需要关心迭代器内部的结构,仅需通过next()方法不断去取下一个内容
- 不能随机访问集合中的某个值 ,只能从头到尾依次访问
- 访问到一半时不能往回退
- 便于循环比较大的数据集合,节省内存
1 x = [11,22,33,44,55]2
3 for i in iter(x):
4 print(i)
2、生成器
一个函数调用时返回一个迭代器,那这个函数就叫做生成器(generator);如果函数中包含yield语法,那这个函数就会变成生成器;
1 def xrange(n):2 start = 0
3 while True:
4 if start > n:
5 return
6 yield start
7 start += 1
8
9 obj = xrange(5)
10 n1 = obj.__next__()
11 n2 = obj.__next__()
12 n3 = obj.__next__()
13 n4 = obj.__next__()
14 n5 = obj.__next__()
15 n6 = obj.__next__()
16 print(n1,n2,n3,n4,n5,n6)
以上是 python_迭代器和生成器 的全部内容, 来源链接: utcz.com/z/388605.html