這是字典的鍵和值之間切換的代碼:扭轉Python字典不起作用
for k in d:
d[d[k]] = k
d.pop(k)
與此代碼,它使更多的操作,它應該使該問題,併爲一些輸入返回錯誤結果
這個問題的原因是什麼?
這是字典的鍵和值之間切換的代碼:扭轉Python字典不起作用
for k in d:
d[d[k]] = k
d.pop(k)
與此代碼,它使更多的操作,它應該使該問題,併爲一些輸入返回錯誤結果
這個問題的原因是什麼?
問題是你在迭代它的時候改變字典,誰知道會導致什麼問題。
請注意,一般來說,您不能反轉字典:鍵必須是唯一且可哈希的,但值不必是。我假設你的字典有獨特的可排序值,所以至少可以。
然後我會用字典解析來創建一個新的字典,並分配:
d = {value: key for (key, value) in d.items()}
您正在迭代字典時將值添加到字典中。通常這是一個壞主意。使用詞典理解來構建新詞典更好。
new_d = {v:k for k,v in d.items()}
[修改Python字典在遍歷吧]的可能的複製(http://stackoverflow.com/questions/6777485 /改性-A-蟒-字典·維持同時迭代-過它) –