字典中的值沒有任何限制, 可以是任意Python對象,即從標準對象到用戶自定義對象皆可,但是字典中的鍵是有類型限制的。
1、不允許壹個鍵對應多個值。必須明確壹條原則:每個鍵只能對應壹個項。也就是說:壹鍵對應多個值是不允許的(像列表、元組和其他字典這樣的容器對象是可以的)。 當有鍵發生沖突(即字典鍵重復賦值),取最後(最近)的賦值。Python並不會因字典中的鍵存在沖突而產生壹個錯誤,它不會檢查鍵的沖突是因為如果真這樣做的話,在每個鍵-值對賦值的時候都會做檢查,這將會占用壹定量的內存。如:>>> dict1 = {'foo':789, 'foo': 'xyz'} ? >>> dict1 ?結果:{'foo': 'xyz'}
(2)鍵必須是可哈希的。大多數Python對象可以作為鍵,但它們必須是可哈希的對象。像列表和字典這樣的可變類型,由於它們不是可哈希的,所以不能作為鍵。所有不可變的類型都是可哈希的,因此它們都可以做為字典的鍵。