為什麼 Python 會以不可預測的方式對字典排序?
在 Python 中,字典是無序資料結構,這表示鍵的順序是沒有保存。然而,正如問題所強調的,即使字典是無序的,它們通常也會以相同的順序傳回鍵。
舊版的 Python 在字典的實作中使用雜湊表。哈希表是高效的資料結構,通常使用哈希函數來確定關鍵位置。哈希表中元素的順序並不是顯而易見的,而是遵循特定的規則。在這個問題中,觀察到的輸出與哈希表的規則完美匹配,導致明顯任意但恆定的順序。
隨著 Python 3.7 的發布,字典的實作被修改以保留插入順序。此更改可以保證順序,確保返回的鍵的順序與它們添加到字典中的順序相符。
以上是為什麼 Python 字典的鍵順序看起來是隨機的(但並非總是如此)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!