当python中的生成器被完整遍历一次后,就无法再次遍历。
成都创新互联公司是一家集网站建设,广陵企业网站建设,广陵品牌网站建设,网站定制,广陵网站建设报价,网络营销,网络优化,广陵网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
我们希望享有生成器迭代占用内存小的特性,又希望这个生成器能被遍历多次。
方案之一是使用函数 itertools.tee 来复制生成器
语法: generator1, generator2 = itertools.tee(generator, n=2)
generator是需要复制的生成器, n是复制出生成器个数,默认为2。
我们为了生成器能多次遍历,可以这样写:
generator, copy_generator = itertools.tee(generator, 2)
然后遍历copy_generator,保存的generator可以再次复制。
1、generator被复制后尽量不要使用
2、如果生成器中迭代的还是生成器,复制最外层生成器,生成器依然只能遍历一次。
下一篇
python生成器多次遍历(二)------创建生成器类
1.如果我们想要某件事情重复执行具体次数的时候可以使用for循环。
2.for循环主要用来遍历、循环、序列、集合、字典,文件、甚至是自定义类或函数。
使用for循环对列表进行遍历元素、修改元素、删除元素、统计列表中元素的个数。
for循环主要用来遍历、循环、序列、集合、字典
结果演示:
apple
orange
banana
grape
for循环主要用来遍历、循环、序列、集合、字典
把banana改为Apple
结果演示:['apple', 'orange', 'apple', 'grape']
结果演示:['apple', 'orange', 'grape']
统计apple的个数
结果演示:Fruits列表中apple的个数=2个
注:列表某一数据统计还可以使用Fruit.count(object)
结果演示:1 2... 10=362880
结果演示:
a
b
c
结果演示:
a
2
bc
结果演示:
朝辞白帝彩云间,千里江陵一日还。
两岸猿声啼不住,轻舟已过万重山。
9.遍历字典
结果演示:
键---name
值---Kaina
键---age
值---22
pre{overflow-x: auto}
range函数的使用
作为循环遍历的对象
第一种创建方式 r=range(10) print(r)#range(0,10) print(list(r))
默认从零开始,默认步长为1
range(0, 10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]第二种创建方式
指定了初始值1,到10结束,不包含10,默认步长为1
'''第二种创建方式,给了两个参数(小括号中给了两个数)''' r=range(1,10) print(list(r)) [1, 2, 3, 4, 5, 6, 7, 8, 9] 第三种创建方式
最后一位数为步长
r=range(1,10,2) print(list(r)) [1, 3, 5, 7, 9] 判断指定的数有没有在当前序列中 r=range(1,10,2) print(10 in r) False
循环结构
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!