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语句块作为“正常”完成循环的奖励
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。