天天看點

python的Dict資料類型,key是否有序。

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