python 給字典排序

2021-09-29 19:20:26 字數 1864 閱讀 7393

下面的是按照key的值從大到小的順序來排序

>>

> a=

>>

>

sorted

(a.items(

), key=

lambda a:a[0]

)[('a',6

),('c',3

),('d',10

),('k',32

)]

下面的是按照key的值從大到小的順序來排序。

>>

>

sorted

(a.items(

), key=

lambda a:a[1]

)[('c',3

),('a',6

),('d',10

),('k',32

)]

其他方法

import operator

#初始化字典

dict_data=

#按鍵(key)進行排序

test_data_4=

sorted

(dict_data.items(

),key=operator.itemgetter(0)

)test_data_5=

sorted

(dict_data.items(

),key=operator.itemgetter(0)

,reverse=

true

)print

(test_data_4)

#[(3, 11), (6, 9), (7, 6), (8, 2), (10, 5)]

print

(test_data_5)

#[(10, 5), (8, 2), (7, 6), (6, 9), (3, 11)]

#按值(value)進行排序

test_data_6=

sorted

(dict_data.items(

),key=operator.itemgetter(1)

)test_data_7=

sorted

(dict_data.items(

),key=operator.itemgetter(1)

,reverse=

true

)print

(test_data_6)

#[(8, 2), (10, 5), (7, 6), (6, 9), (3, 11)]

print

(test_data_7)

#[(3, 11), (6, 9), (7, 6), (10, 5), (8, 2)]

ordereddict

dd =

#按key排序

kd = collections.ordereddict(

sorted

(dd.items(

), key=

lambda t: t[0]

))print kd

#按照value排序

vd = collections.ordereddict(

sorted

(dd.items(

),key=

lambda t:t[1]

))print vd

#輸出ordereddict([(

,4),

('banana',3

),('orange',2

),('pear',1

)])ordereddict([(

'pear',1

),('orange',2

),('banana',3

),(,

4)])

python如何給字典排序

在python裡,字典dictionary是內建的資料型別,是個無序的儲存結構,每一元素是key value對 如 dict 其中 username 和 password 是key,而 xiaoming 和 123456 是value,可以通過d key 獲得對應值value的引用,但是不能通過va...

給自字典排序

python字典是無序的型別,有時候有需要對字典按照鍵或者按照值進行排序。為了完成排序。將字典值取出來寫到列表中再排序的方法是很愚蠢的。可以使用sorted函式來實現這個功能即sorted dict,value,reverse 需要匯入operator庫 如下 import operator dic...

python實現字典排序 python 字典排序

引子 字典,形如 dic 字典中的元素沒有順序,所以dic 0 是有語法錯誤的。並且不可以有重複的鍵值,所以 dic.add c 4後,字典變成 待解決問題 如何根據需要可以根據 鍵 或 鍵值 進行不同順序的排序?函式原型 sorted dic,value,reverse dic為比較函式,valu...