可能重複:
How to raise error if duplicates keys in dictionary檢查字典一倍鍵
我最近產生巨大的詞典與成千上萬的鍵(例如,通過看他們WASN」注意到一個bug t可行)。它們在語法上是正確的,但在某處存在錯誤。它歸結爲「重複鍵」:
{'a':1, ..., 'a':2}
這個代碼編譯好,我無法弄清楚,爲什麼a
關鍵有2
值如我所料1
。現在這個問題很明顯。
問題是我如何能夠在將來防止這種情況。我認爲這在python中是不可能的。我用
grep "'.*'[ ]*:" myfile.py | sort | uniq -c | grep -v 1
這是不是防彈。任何其他想法(在python中,這個grep只是爲了說明我試過的)?
編輯:我不想重複鍵,只需要找出出現這種情況,並手動
是問題的重複鍵是在你的數據嗎?意思是你要他們標記(或重複忽略)。 –
最簡單的方法是創建和使用dict的自定義子類(請參閱上述問題的鏈接),當您嘗試添加重複鍵時,它會失敗,並顯示錯誤消息。如果這真的是你想要的,你甚至可以修改行爲來忽略重複。 –
現在我看到,事實上,這是一個愚蠢的問題,相關的答案解決了我的問題。我想知道爲什麼這樣的行爲(通知用戶他正在複製密鑰)在Python中不是默認行爲,我無法想象當雙倍密鑰值得期望時的情況。我應該關閉/刪除這個問題嗎? (如何?) – bartekbrak