下面小編就為大家帶來一篇完美解決python遍歷刪除字典裡值為空的元素報錯問題。小編覺得蠻不錯的,現在就分享給大家,也給大家做個參考。一起跟著小編過來看看吧
exam = { 'math': '95', 'eng': '96', 'chn': '90', 'phy': '', 'chem ': '' }
使用下列遍歷的方法刪除:
#1. for e in exam:
2. if exam [e] == '':
3. del exam[e]
結果出現下列錯誤,怎麼解決:
Traceback (most recent call last): File "Untitled.py", line 3, in <module> for e in exam: RuntimeError: dictionary changed size during iteration
正確做法:
#1. s = {"1":a,"2":b ,"3":c,"4":d,"5":e}
2. s_key = list(s.keys())
3. for k_s in s_key:
# 4.#例如我要刪除第四個元素
5.del s["4"]
#只是在for迴圈中,相當於對鍊錶的操作,它會自動呼叫next方法!
字典的迭代器會遍歷它的鍵,在這個過程中,不能改變這個字典!不能刪除、新增資料
要先記錄要刪除的元素的索引,遍歷完後再刪除,exam.keys()傳回的是一個獨立的清單
#以上這篇完美解決python遍歷刪除字典裡值為空的元素報錯問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持PHP中文網。
更多完美解決python遍歷刪除字典裡值為空的元素報錯問題相關文章請關注PHP中文網!