為什么順序的結(jié)果會(huì)變
# Enter a code
d = {
??? 'Alice': 45,
??? 'Bob': 60,
??? 'Candy': 75,
??? 'David': 86,
??? 'Ellena': 49,
??? 'Graven':86,
}
print(d)
# Enter a code
d = {
??? 'Alice': 45,
??? 'Bob': 60,
??? 'Candy': 75,
??? 'David': 86,
??? 'Ellena': 49,
??? 'Graven':86,
}
print(d)
2020-10-03
舉報(bào)
2020-10-06
沒變啊
2020-10-04
在Python3.5之前,dict中的元素是無序的,也就是dict中元素的插入順序和打印順序未必一致,比如使用Python3.5之前的版本執(zhí)行以下代碼:
可以看到,打印的順序和定義的順序并不一致。
但是在Python3.6、Python3.7版本中,卻得到了有序的結(jié)果。
為什么在不同的版本中,會(huì)得到不一樣的結(jié)果呢?這是因?yàn)榈讓拥膶?shí)現(xiàn)發(fā)生了改變,我們可以認(rèn)為在Python3.6的版本以后,dict是有序的,但是一般而言,為了避免不必要的誤解,一般在需要有序的dict時(shí),我們會(huì)使用一種叫做Ordereddict的字典,來確保有序。