Python3 中對字典排序

2021-09-26 13:16:43 字數 1549 閱讀 4271

當然,python3 中的字典 dict 和集合 set 類似,都是沒有所謂順序的,但是你肯定有過這樣的需求:怎麼讓 python3 中的字典按照鍵的順序重新排列得到新的字典呢?下面就給你展示一下吧!

>>> dict_test = 

>>> dict(sorted(dict_test.items(), key=lambda x:x[0], reverse=false))

>>> dict(sorted(dict_test.items(), key=lambda x:x[1], reverse=false))

當然,原來字典中元素的順序還是保持不變

>>> dict_test

如果是 python2 的話,dict() 函式與 python3 是稍有差異的(因為 dict() 之後得到的字典本來就應該是沒有順序的,所以在 python2 和 python3 下使用 dict() 函式得到不完全一樣的結果也很正常——畢竟反正無所謂順序,所以以什麼樣的順序來顯示本來是無關緊要的):

python 2.7.5 (default, jun 20 2019, 20:27:34) 

[gcc 4.8.5 20150623 (red hat 4.8.5-36)] on linux2

>>> dict_test =

>>> dict(sorted(dict_test.items(), key=lambda x:x[0], reverse=false))

>>> dict_test.items()

[('a', 2), ('c', 5), ('b', 1), ('d', 3)]

>>> sorted(dict_test.items(), key=lambda x:x[0])

[('a', 2), ('b', 1), ('c', 5), ('d', 3)]

>>> dict(sorted(dict_test.items(), key=lambda x:x[0]))

python 3.6.8 (default, aug  7 2019, 17:28:10) 

[gcc 4.8.5 20150623 (red hat 4.8.5-39)] on linux

>>> dict_test =

>>> dict(sorted(dict_test.items(), key=lambda x:x[0], reverse=false))

>>> dict_test.items()

dict_items([('b', 1), ('a', 2), ('c', 5), ('d', 3)])

>>> sorted(dict_test.items(), key=lambda x:x[0], reverse=false)

[('a', 2), ('b', 1), ('c', 5), ('d', 3)]

>>> dict(sorted(dict_test.items(), key=lambda x:x[0], reverse=false))

python3中的字典

字典是一種對映,eng2sp dict print eng2sp eng2sp one undo print eng2sp eng2sp two df print eng2sp d eng2sp one print d 字典中的順序是不可預料的 a len eng2sp 顯示鍵值對的個數 print...

python3字典排序

說實話,對字典進行排序,這個說法本身就有問題,實際上,你無法對操縱字典說,字典,在你的底層實現裡,你就得按照我指定的順序來排列,如果這樣的話,字典就喪失了它的速度優勢,它也不是乙個字典了.好了,廢話不多說,我這裡稍微記錄一下我的做法吧.python2裡面原來是有dict.iteritems這樣乙個函...

python3字典詳解 python3中字典詳解

字典 dict 1.建立字典的幾種方式 class dict kwarg class dict iterable,kwarg 使用上面的方法構建字典 方法1構建字典 a dict one 1,two 2,three 3 a輸出結果 方法2構建字典 a dict a輸出結果 方法3構建字典 d dic...