Python使用for实现无限循环的多种方法

Posted Channing Lewis

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python使用for实现无限循环的多种方法相关的知识,希望对你有一定的参考价值。

# 方法1.1:借助循环遍历列表的cycle方法
from itertools import cycle

for _ in cycle([1]):
    print('h')

# 方法1.2:借助无穷迭代器repeat
from itertools import repeat

for _ in repeat(None):  # repeat(elem,[n]),对elem迭代n次,n不传则默认无限次
    print('h')

# 方法1.3:借助计数器,但是事实上只会循环到计数值大到将内存撑爆时
from itertools import count

for _ in count():
    print('h')

# 方法2.1:借助iter,int函数每次迭代返回的都是0,始终不会等于哨兵值1,所以会无限迭代
for _ in iter(int, 1):
    print('h')
# int函数和1只是个例子,可以传入其它可调用对象和哨兵值,只要迭代值始终不等于哨兵值就可以。

# 方法2.2:自己定义一个无穷迭代器
class InfIter:
    def __iter__(self):
        return self
    def __next__(self):
        pass

for _ in InfIter():
    print("h")

# 方法3:不停地往列表尾部添加元素,但是事实上只会循环到列表大到将内存撑爆时
inf_list = [1]
for _ in inf_list:
    print('h')
    inf_list.append(1)

以上是关于Python使用for实现无限循环的多种方法的主要内容,如果未能解决你的问题,请参考以下文章

Python:如何杀死无限循环?

在实现无限循环时,使用 while(1) 与 for(;;) 与 goto (在 C 中)有区别吗?

Python3入门基础(05)循环语句

Python3入门基础(05)循环语句

python如何跳出无限循环并执行下一个函数

Lesson 021 —— python 循环语句