文章詳情頁
python - 用生成器迭代數(shù)據(jù)在文件和IDLE中運(yùn)行結(jié)果不一致,
瀏覽:88日期:2022-06-30 18:38:38
問題描述
使用生成器迭代數(shù)據(jù)構(gòu)造丟失問題,同樣的代碼運(yùn)行結(jié)果不一致:
文件方式運(yùn)行得到結(jié)果為:5 2 1 0
Python自帶IDLE運(yùn)行得到結(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:不要對正在遍歷的對象進(jìn)行修改, 那樣會導(dǎo)致索引混亂, 無法達(dá)到我們想要的結(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. html5 - ElementUI table中el-table-column怎么設(shè)置百分比顯示。2. python - 使用readlines()方法讀取文件內(nèi)容后,再用for循環(huán)遍歷文件與變量匹配時出現(xiàn)疑難?3. 對mysql某個字段監(jiān)控的功能4. css3 - less或者scss 顏色計算的知識應(yīng)該怎么學(xué)?或者在哪里學(xué)?5. 注冊賬戶文字不能左右分離6. javascript - table列過多,有什么插件可以提供列排序和選擇顯示列的功能7. css - 網(wǎng)頁div區(qū)塊 像蘋果一樣可左右滑動 手機(jī)與電腦8. javascript - 數(shù)組的過濾和渲染9. html - vue項目中用到了elementUI問題10. JavaScript事件
排行榜

熱門標(biāo)簽