Python生成器和迭代器
Python生成器
#生成器:在python中如何形成生成器 借助range函数生成
创新互联网络公司拥有十载的成都网站开发建设经验,上千余家客户的共同信赖。提供成都网站设计、成都网站制作、网站开发、网站定制、外链、建网站、网站搭建、响应式网站建设、网页设计师打造企业风格,提供周到的售前咨询和贴心的售后服务
a=(x for x in range(10));
print(a)#generator生成器
#借助next函数获取生成器中生成的序列元素
print(next(a))#0
print(next(a))#0
print(next(a))#0
print(next(a))#0
print(next(a))#0
print(next(a))#0
print(next(a))#0
print(next(a))#0
print(next(a))#0
print(next(a))#0
#在函数中定义生成器函数 如果一个函数中存在yield 那么此函数就一定是一个生成器函数
def func():
print('第一阶段');
yield 1;
print('第二阶段')
yield 2;
generator=func();
#next方法的作用是获取生成器中的下一个元素
print(next(generator))
print(next(generator))
#根据yield生成器函数 生成一个斐波那契数列 0 1 1 2 3 5 8 13 21
def feibo(number):
#任何一个斐波那契数列的前三个元素都是 0 1 1
n=0;before=1;after=1 #一次性给三个变量赋值 n变量的作用是生成一个循环
while n
#生成器也是一个可迭代类型 iter()
gen=feibo(8)
for item in gen:
print(item);
Python迭代器
#generator:生成器 都是迭代器 在每一个生成器中都存在iter函数
#next() iter() 迭代器
a=[1,2,3,4,5];
iterator=iter(a);
#迭代器中的元素 下一个(next)
print(next(iterator))#next意思指代打印迭代器中的下一个元素 移动指针
#结果
1
#迭代器又可以通过for循环进行对应的遍历
#for循环只能遍历可迭代类型 list 元组 集合...迭代器的一种
for item in iterator:#本身也会移动指针 但通过调用next方法已经将指针移动到了第二个元素的位置
print(item)
#结果
2
3
4
5
文章标题:Python生成器和迭代器
网站地址:http://pwwzsj.com/article/psessh.html