我是Python新手,目前正在學習字典。我將隨機值和類型放在字典中。這裏是什麼困惑我:布爾作爲字典中的關鍵是造成奇怪的問題?
stuff = {True: 1234, 1: 2}
print(stuff[True])
print(len(stuff))
當你運行這段代碼,輸出爲:
2
1
這是怎麼輸出? print(stuff[True])
不應輸出1234
和print(len(stuff))
輸出爲2
?我可能會錯過一些非常明顯的東西,但是有人能解釋一下發生了什麼嗎?
'真== 1'; 'bool'是'int'的子類型。 – Ryan
@Ryan所以Python實際上將'{True:1234,1:2}'解釋爲'{1:1234,1:2}'?我想這解釋了「len」問題。但是,爲什麼它會選擇'2'而不是'1234',特別是因爲'1234'首先? – parrot15
如果您有多個相同的密鑰,最後一個是使用其值的那個密鑰。你可以把它看作是「{1:1234,1:2}」,但它不是真的那個; 'True'和'1'是截然不同的,但與'=='相當,並且字典鍵是根據相等性進行比較的。 – Ryan