維護字典中的鍵/值順序
在 Python 中,從 3.6 版本開始,字典本質上維護插入順序。以下列方式宣告字典:
d = {'ac': 33, 'gw': 20, 'ap': 102, 'za': 321, 'bs': 10}
產生的字典將依照宣告的順序保留鍵。此行為與早期的 Python 版本不同,其中鍵順序是隨機的。
在幕後,這種順序保留是透過利用稀疏雜湊表和陣列來儲存鍵值對的最佳化實作來實現的。鍵本質上按照添加順序儲存在數組中。
雖然 Python 3.6 將順序保留視為實作細節,但 Python 3.7 將其提升為語言規範。因此,所有與 3.7 及更高版本相容的 Python 實作都必須維護其字典中的順序。這種保證也擴展到了從 Python 3.8 開始支援的反向迭代。
儘管引入了保序字典,但 collections 模組中的 collections.OrderedDict() 類別在某些情況下仍然有用。它提供了額外的功能,例如可逆性以及使用 move_to_end() 方法對鍵重新排序的能力。
以上是Python 如何保證字典中的鍵順序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!