下面的是按照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...