溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python使用for實(shí)現(xiàn)無(wú)限循環(huán)的方式有哪些

發(fā)布時(shí)間:2023-03-02 10:38:22 來(lái)源:億速云 閱讀:140 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹“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)題。

    Python使用for實(shí)現(xiàn)無(wú)限循環(huá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)

    python遍歷循環(huán)與無(wú)限循環(huán)

    循環(huán)結(jié)構(gòu):

    遍歷循環(huán)

    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)

    無(wú)限循環(huán)

    由條件控制的循環(huán)運(yùn)行方式

    while<條件>: 語(yǔ)句塊

    循環(huán)控制保留字

    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)的高級(jí)用法

    循環(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)。

    向AI問(wèn)一下細(xì)節(jié)

    免責(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)容。

    AI