Python生成器和迭代器
admin
2023-07-17 21:43:00
0

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

相关内容

热门资讯

应急演练强保障,蔡甸供电精准守... 极目新闻通讯员 胡莉娜 张书烨 “设备温度正常、负荷数据稳定,UPS电源运行无异常,双电源切换试验圆...
人工智能在医疗领域的应用与挑战 人工智能在医疗领域的应用与挑战 一、人工智能在医疗中的主要应用 人工智能正逐步改变传统医疗模式,其核...
原创 每... 放眼夜空,一场看不见的太空大戏正在上演,SpaceX公司旗下的“星链”卫星正以惊人速度坠入地球大气层...
每年这个时候,民进党总要幼稚地... 一年一度的海峡论坛即将在厦门如期举办,作为两岸民间交流的重要盛会,论坛始终聚焦基层对接、民生互通与青...
网红“阿全哥”车祸离世,留下4... 极目新闻记者 杜光然近日,家属通过网红“双山阿全哥”的账号发布讣告称,5月底,44岁的阿全哥因车祸不...
致命超载:8名蓝莓采摘女工殒命... 澎湃新闻记者 陈蕾 编辑 黄霁洁 实习生 余乐 元珂盈 冼浩新 王圣铭天还没亮,60岁的农妇王盛兰摸...
中外人士共话AI赋能全球航运新... 转自:新华社 新华财经天津6月6日电(杨文 包庆龄) “人工智能(AI)正在深刻改变港口运营的模式,...
我科学家找到深海水虱抗饿的绝招 深海水虱是一类生活在深海中的甲壳动物,因保持世界上最长的绝食时间纪录(可达5年以上)而闻名。近日,我...
俄石油巨头CEO:霍尔木兹海峡... 据路透社6月6日报道,俄罗斯石油公司(Rosneft)首席执行官伊戈尔·谢钦在圣彼得堡国际经济论坛上...
原创 什... 近日,有机构发布了4月份,国内线上家用路由器市场情况。 从销量来看,一共卖出了86.2万台,同比下滑...