>>> a = {'foo': {'bar': 3}}
>>> b = {'foo': {'bar': 3}}
>>> a == b
True
據蟒蛇DOC,you can indeed use字典上的==
操作。
這裏實際發生了什麼? Python是否遞歸地檢查字典的每個元素以確保相等?它是否確保這些鍵完全匹配,並且這些值也完全匹配?
是否有文檔明確指出字典上的==
是什麼意思?或者我是否必須實現自己的版本檢查平等?
(如果==
運營商的工作,你爲什麼不哈希的類型的字典?也就是說,我爲什麼不能創建一組()類型的字典,或者使用字典作爲字典鍵?)
字典不可散列,因爲它們是可變的,它們的數據對過去的狀態很敏感。很容易得到具有相等狀態的兩個字典,但由於字典的歷史(包含更多虛擬條目)而產生的不等散列 –
@SlaterTyranus:您可以輕鬆地忽略虛擬條目;這不是問題。可變性是一個巨大的問題。 –