文章詳情頁
python - 用生成器迭代數(shù)據(jù)在文件和IDLE中運行結(jié)果不一致,
瀏覽:108日期: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. android - weex 項目createInstanceReferenceError: Vue is not defined2. PHPExcel表格導(dǎo)入數(shù)據(jù)庫怎么導(dǎo)入3. android - 哪位大神知道java后臺的api接口的對象傳到前端后輸入日期報錯,是什么情況?求大神指點4. pdo 寫入到數(shù)據(jù)庫的內(nèi)容為中文的時候?qū)懭雭y碼5. javascript - 如圖,百度首頁,查看源代碼為什么什么都沒有?6. vue2.0+webpack 如何使用bootstrap?7. PHP類封裝的插入數(shù)據(jù),總是插入不成功,返回false;8. mac連接阿里云docker集群,已經(jīng)卡了2天了,求問?9. javascript - 前端開發(fā)框架express,在他的模板引擎下怎么給按鈕添加綁定事件?10. 請問PHPstudy中的數(shù)據(jù)庫如何創(chuàng)建索引
排行榜

熱門標簽