Python使用for实现无限循环的多种方式汇总

 

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 <循环变量>in<遍历结构>: 语句块

由保留字for和In组成,完整遍历所有元素后结束

每次循环,所获得元素放入循环变量,并执行一次语句块

计数循环(N次):for i in range(N):语句块 0-N-1

for i in range(M,N,K): i由M开始,到N-1,并以K为步长

字符串遍历循环: for c in s :语句块

s是字符串,遍历字符串每个字符,产生循环

列表遍历循环: for item in ls:语句块

ls是列表,遍历列表每个元素,产生循环

文件遍历循环: for i in fi: 语句块

fi是文件标识符,遍历其每行,产生循环

无限循环

由条件控制的循环运行方式

while<条件>: 语句块

循环控制保留字

break 和continue

  • break:跳出并结束当前整个循环,执行循环后的语句(一个break只能跳出一层循环)
  • continue:结束当次循环,进行下一次循环

循环的高级用法

循环与else:当循环没有被Break语句退出时,执行else

else语句块作为“正常”完成循环的奖励

 

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程宝库

 python重启for循环,使其重新开始遍历方法使用break语句跟while语句的结合,加入一个布尔值的判定,当满足一定条件是,布尔值变为True,并且用break语句跳出循环 ...