1、在Python 3.5(含)以前,字典是不能保證順序的。
鍵值對(A, 1)先插入字典,鍵值對(B, 2)後插入字典,但是我們列印字典的Keys清單時,會發現B可能在A的前面,因為字典是按照hash來存儲的。
python中有個子產品collections(英文,收集、集合),裡面自帶了一個子類OrderedDict,實作了對字典對象中元素的排序。用法如下:
import collections
dic = collections.OrderedDict()
dic['a'] = 'A'
dic['c'] = 'C'
dic['1'] = '1'
dic['b'] = 'B'
dic['2'] = '2'
for k,v in dic.items():
print(k,v)
>>>
a A
c C
1 1
b B
2 2
2、從python3.6開始,dict變得緊湊以及關鍵字變得有序。
詳情看網址:https://mail.python.org/pipermail/python-dev/2016-September/146327.html