字典中的一個(gè)鍵可以有幾個(gè)值?
字典中的值沒有任何限制, 可以是任意Python對(duì)象,即從標(biāo)準(zhǔn)對(duì)象到用戶自定義對(duì)象皆可,但是字典中的鍵是有類型限制的。 1、不允許一個(gè)鍵對(duì)應(yīng)多個(gè)值。必須明確一條原則:每個(gè)鍵只能對(duì)應(yīng)一個(gè)項(xiàng)。也就是說:一鍵對(duì)應(yīng)多個(gè)值是不允許的(像列表、元組和其他字典這樣的容器對(duì)象是可以的)。
當(dāng)有鍵發(fā)生沖突(即字典鍵重復(fù)賦值),取最后(最近)的賦值。
Python并不會(huì)因字典中的鍵存在沖突而產(chǎn)生一個(gè)錯(cuò)誤,它不會(huì)檢查鍵的沖突是因?yàn)槿绻孢@樣做的話,在每個(gè)鍵-值對(duì)賦值的時(shí)候都會(huì)做檢查,這將會(huì)占用一定量的內(nèi)存。
如:>>> dict1 = {'foo':789, 'foo': 'xyz'} >>> dict1 結(jié)果:{'foo': 'xyz'
} (2)鍵必須是可哈希的。大多數(shù)Python對(duì)象可以作為鍵,但它們必須是可哈希的對(duì)象。像列表和字典這樣的可變類型,由于它們不是可哈希的,所以不能作為鍵。
所有不可變的類型都是可哈希的,因此它們都可以做為字典的鍵。