Python中能否让for循环实现永久循环执行?
当然可以实现。for循环的核心逻辑是遍历可迭代对象,你原本使用的range(3)是长度为3的有限可迭代对象,所以只会执行3次循环,只要替换成永远不会迭代结束的可迭代对象,就能实现永久循环,有以下几种常用实现方案:
- 方案1:使用
itertools.count生成无限迭代器(最常用)
import itertools # count()会无限生成递增的整数,迭代永远不会停止 for _ in itertools.count(): print("Hello")
- 方案2:无需导入依赖,自定义无限生成器
def infinite_iter(): while True: yield for _ in infinite_iter(): print("Hello")
- 方案3:使用
iter()哨兵参数构造无限迭代器,无需导包
# 第一个参数是无参可调用对象,永远返回0,永远不等于哨兵值1,迭代永不终止 for _ in iter(lambda: 0, 1): print("Hello")
内容的提问来源于stack exchange,提问作者Hamzah Nasser
相关产品推荐
相关产品推荐

