您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python使用for實(shí)現(xiàn)無(wú)限循環(huán)的方式有哪些”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“Python使用for實(shí)現(xiàn)無(wú)限循環(huán)的方式有哪些”文章能幫助大家解決問(wèn)題。
# 方法1.1:借助循環(huán)遍歷列表的cycle方法 from itertools import cycle for _ in cycle([1]): print('h') # 方法1.2:借助無(wú)窮迭代器repeat from itertools import repeat for _ in repeat(None): # repeat(elem,[n]),對(duì)elem迭代n次,n不傳則默認(rèn)無(wú)限次 print('h') # 方法1.3:借助計(jì)數(shù)器,但是事實(shí)上只會(huì)循環(huán)到計(jì)數(shù)值大到將內(nèi)存撐爆時(shí) from itertools import count for _ in count(): print('h') # 方法2.1:借助iter,int函數(shù)每次迭代返回的都是0,始終不會(huì)等于哨兵值1,所以會(huì)無(wú)限迭代 for _ in iter(int, 1): print('h') # int函數(shù)和1只是個(gè)例子,可以傳入其它可調(diào)用對(duì)象和哨兵值,只要迭代值始終不等于哨兵值就可以。 # 方法2.2:自己定義一個(gè)無(wú)窮迭代器 class InfIter: def __iter__(self): return self def __next__(self): pass for _ in InfIter(): print("h") # 方法3:不停地往列表尾部添加元素,但是事實(shí)上只會(huì)循環(huán)到列表大到將內(nèi)存撐爆時(shí) inf_list = [1] for _ in inf_list: print('h') inf_list.append(1)
循環(huán)結(jié)構(gòu):
for <循環(huán)變量>in<遍歷結(jié)構(gòu)>: 語(yǔ)句塊
由保留字for和In組成,完整遍歷所有元素后結(jié)束
每次循環(huán),所獲得元素放入循環(huán)變量,并執(zhí)行一次語(yǔ)句塊
計(jì)數(shù)循環(huán)(N次):for i in range(N):語(yǔ)句塊 0-N-1
for i in range(M,N,K): i由M開(kāi)始,到N-1,并以K為步長(zhǎng)
字符串遍歷循環(huán): for c in s :語(yǔ)句塊
s是字符串,遍歷字符串每個(gè)字符,產(chǎn)生循環(huán)
列表遍歷循環(huán): for item in ls:語(yǔ)句塊
ls是列表,遍歷列表每個(gè)元素,產(chǎn)生循環(huán)
文件遍歷循環(huán): for i in fi: 語(yǔ)句塊
fi是文件標(biāo)識(shí)符,遍歷其每行,產(chǎn)生循環(huán)
由條件控制的循環(huán)運(yùn)行方式
while<條件>: 語(yǔ)句塊
break 和continue
break
:跳出并結(jié)束當(dāng)前整個(gè)循環(huán),執(zhí)行循環(huán)后的語(yǔ)句(一個(gè)break只能跳出一層循環(huán))
continue
:結(jié)束當(dāng)次循環(huán),進(jìn)行下一次循環(huán)
循環(huán)與else:當(dāng)循環(huán)沒(méi)有被Break語(yǔ)句退出時(shí),執(zhí)行else
else語(yǔ)句塊作為“正常”完成循環(huán)的獎(jiǎng)勵(lì)
關(guān)于“Python使用for實(shí)現(xiàn)無(wú)限循環(huán)的方式有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。