文章詳情頁
python - 用生成器迭代數(shù)據(jù)在文件和IDLE中運行結(jié)果不一致,
瀏覽:87日期:2022-06-30 18:38:38
問題描述
使用生成器迭代數(shù)據(jù)構(gòu)造丟失問題,同樣的代碼運行結(jié)果不一致:
文件方式運行得到結(jié)果為:5 2 1 0
Python自帶IDLE運行得到結(jié)果為:5 3 2 1 0
def countdown(n): while n >= 0:newvalue = (yield n)if newvalue is not None: n = newvalueelse: n -= 1c = countdown(5)for n in c: print(n) if n == 5:c.send(3)
問題解答
回答1:不要對正在遍歷的對象進行修改, 那樣會導(dǎo)致索引混亂, 無法達到我們想要的結(jié)果, 可以通過enumerate查看遍歷過程中, 索引的變化
for index, n in enumerate(c): # index 為取到的索引值 print(index, n) if n == 5:c.send(3)
上一條:python - 使用requests爬取[大街網(wǎng)]職位信息,嘗試多次失敗,幫忙看看我的代碼有什么問題?應(yīng)該怎么改呢?下一條:各位python爬蟲大牛看過來,這個網(wǎng)站的反爬蟲怎么處理
相關(guān)文章:
1. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?2. python的前景到底有大?如果不考慮數(shù)據(jù)挖掘,機器學(xué)習(xí)這塊?3. Matlab和Python編程相似嗎,有兩種都學(xué)過的人可以說說嗎4. javascript - Html5做移到端定位,獲取授權(quán)拒絕了怎么辦?5. javascript - 關(guān)于audio標(biāo)簽暫停的問題6. 大家好,請問在python腳本中怎么用virtualenv激活指定的環(huán)境?7. 網(wǎng)頁爬蟲 - 用Python3的requests庫模擬登陸B(tài)ilibili總是提示驗證碼錯誤怎么辦?8. javascript - 微信小程序封裝定位問題(封裝異步并可能多次請求)9. javascript - Web微信聊天輸入框解決方案10. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應(yīng)
排行榜

熱門標(biāo)簽