python字典無序?有序?


默認情況下Python的字典輸出順序是按照鍵的創建順序。

字典的無序是指,不能人為重新排序。
比如說你按鍵值1,2,3,4的順序創建的字典,只能由解析器按創建順序,還是1,2,3,4的輸出。
你無法控制它按照4,3,2,1的順序輸出,你也無法做到1,3,2,4的順序。

而且這個輸出順序是也不是能真正按照創建順序可以控的。
這里面有兩個影響因素:
(1)鍵值的哈希碰撞,hash(key1) == hash(key2)時,向字典里連續添加的這個兩個鍵的順序是不可以控制的,也是無法做到連續的,后來的鍵會按算法調整到其它位置。
(2)字典空間擴容,當鍵的數量超過字典默認開的空間時,字典會做空間擴容,擴容后的鍵順和創建順序就會發生變化,不受人為控制。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM