我今天用python遍歷一個字典, 我想檢測字典中屬性值爲None的部分, 如果檢測到就把這個屬性刪除, 那麼我是這麼幹的
# result 是一個字典, 我想把裏面屬性值是None的屬性刪除
for key in result:
if not result[key]:
del result[key]
continue
結果就報錯了
RuntimeError: dictionary changed size during iteration # 字典在迭代的時候改變了字典大小
我想了想, 解決辦法有兩種, 一種是把字典轉爲列表, 然後再增刪; 或者我不遍歷字典, 只遍歷字典的屬性名, 那麼就避開了這個問題.根據需要, 我選擇了後面一種, 我是這麼幹的
for key in result.keys(): # 由 result 變爲 result.keys()
if not result[key]:
del result[key]
continue
然後就成功了, 嘿嘿
以上!