2017-11-18 131 views

回答

3

Python使用與==運算符使用的相同的相等性測試。您使用的所有密鑰(1,True,1.01.00)的比較結果均相等。你的字典發生了什麼,它保留了第一個關鍵字,然後更新與該關鍵字相關的值,以便所有隨後的關鍵字與其相等。這有點不直觀,因爲關鍵值不一樣(除了1.01.00),但它們是「相等的」。

類似地,{1: 'd'}[True]的計算結果爲'd',因爲True == 1

+0

哦,謝謝!當我向我的字典中添加混合值時,我非常困惑,因爲我解析了一個csv文件。我把它歸結爲'{1:'a',真:'b',1.0:'c',1.00:'d'}'。 –

1

所有值1,True,1.0和1.00是相等的(1.0和1.00是完全相同的值)。所以他們都被認爲是字典中的同一個關鍵。你不能有一個與多個相同的密鑰字典。

1

Python不支持字典中的重複鍵。

在該示例中,所有密鑰都相同(True==1評估爲True)。
所以Python會放棄除最後一個鍵外的每個鍵值。

相關問題