手機(jī)也能上課
1/2
"JavaScript" 消失了?
示例:
some_dict = {}
some_dict[5.5] = "Ruby"
some_dict[5.0] = "JavaScript"
some_dict[5] = "Python"
輸出:
>>> some_dict[5.5] "Ruby" >>> some_dict[5.0] "Python" >>> some_dict[5] "Python"
"Python" 消除了 "JavaScript" 的存在?
說明:
- Python 字典通過檢查鍵值是否相等和比較哈希值來確定兩個鍵是否相同.
- 具有相同值的不可變對象在Python中始終具有相同的哈希值.
>>> 5 == 5.0 True >>> hash(5) == hash(5.0) True
注意: 具有不同值的對象也可能具有相同的哈希值(哈希沖突).
當(dāng)執(zhí)行 some_dict[5] = "Python" 語句時, 因?yàn)镻ython將 5 和 5.0 識別為 some_dict 的同一個鍵,
所以已有值 "JavaScript" 就被 "Python" 覆蓋了.