无限for循环的实现【Python】

更新时间:2023-07-31 18:40:19 阅读: 评论:0

⽆限for循环的实现【Python】
品牌泳衣for 循环怎么才能⽆限循环下去呢?
1. 最 low 的⽅法:⼀个⽆限的列表
理解 for 在⼲什么,在遍历,那我们给他⼀个⽆限长的东西,不就⽆限循环了。
list_ =[None]
for _ in list_:
list_.append(None)
# Other operations.
优点:易于理解,最容易想到的⽅式
缺点:速度慢,占内存,最后肯定会溢出的,其实不是真正意义上的⽆限。
2. 实现⼀个⽆限的迭代器
张仲景伤寒论
理解 for 的本质,是先获取⼀个迭代器,再依次调⽤ next 。那我们⾃⼰实现⼀个迭代器,让它的 next 永远都不不抛出 StopIteration 异常,那不就永远 for 下去了
class MyIter:
def__iter__(lf):
return lf
def__next__(lf):卷起什么
pass
for _ in MyIter():
# Other operations.
优点:真正的⽆限,不浪费内存炎帝神农氏
粥的故事缺点:依然需要个⼈⼿动实现⼀些东西
3. 使⽤内置的⽆限迭代器
使⽤别⼈已经造好的⽆限迭代器,避免⾃⼰写了
3.1 count
from itertools import count
for i in count():
好看的彩铅画>红茶绿茶的区别
print(i)
# Other operations.
优点:近似是⽆限的,不需要⼿动实现什么,⾃带⾃定义初始值、步长的计数
缺点:如果时间⽆限,内存有限,那么可以认为有⼀天计数的值会⾮常⼤,⼤到计算机放不下,当然不需要等到那⼀天,只要数字⾜够⼤,就会⽐其他⽆限迭代器浪费时间
3.2 cycle、repeat
cycle
from itertools import cycle
桑兰
for _ in cycle((None,)):
# Other operations.
repeat
from itertools import repeat
for _ in repeat(None):
# Other operations.
cycle 和 repeat 都是⽤来实现重复输出的。cycle 是重复⼀堆对象,repeat 是重复⼀个对象。优点:⽆需⼿动实现,真正意义上的⽆限

本文发布于:2023-07-31 18:40:19,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1103376.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:迭代   实现   需要   内存   缺点   理解   优点   绿茶
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图