排序首先想到python的sorted()和sort()
sort 與 sorted 區別:
1.sort 是應用在 list 上的方法,sorted 可以對所有可迭代的物件進行排序操作。
2. list 的 sort 方法返回的是對已經存在的列表進行操作,而內建函式 sorted 方法返回的是乙個新的 list,而不是在原來的基礎上進行的操作。通俗的說,就是sort沒有返回值,sorted有返回值。
sorted 語法: sorted(iterable, key=none, reverse=false)引數說明:
iterable – 可迭代物件。因此字典按照鍵和值進行排序了,也就是在sorted()中的引數key選擇鍵或者值。key – 主要是用來進行比較的元素,只有乙個引數,具體的函式的引數就是取自於可迭代物件中,指定可迭代物件中的乙個元素來進行排序。
reverse – 排序規則,reverse = true 降序 , reverse = false 公升序(預設)。
import random
testlist=
for i in
range(20
):81,
100)
)print
(testlist)
zi=for x in testlist:
if x not
in zi.keys():
zi[x]
=testlist.count(x)
print
("zi:"
,zi)
# 按照鍵排序
ll1=
sorted
(zi.items(
),key=
lambda kv:
(kv[0]
))print
(ll1)
#按照值排序
ll2=
sorted
(zi.items(
),key=
lambda kv:
(kv[1]
))print
(ll2)
輸出為:
[88,
97,90,
88,99,
95,95,
95,86,
93,97,
90,95,
98,100,86,
99,90,
84,84]
zi:[(84
,2),
(86,2
),(88
,2),
(90,3
),(93
,1),
(95,4
),(97
,2),
(98,1
),(99
,2),
(100,1
)][(
93,1)
,(98,
1),(
100,1)
,(88,
2),(
97,2)
,(99,
2),(
86,2)
,(84,
2),(
90,3)
,(95,
4)]
1.python 字典 items() 函式以列表返回可遍歷的(鍵, 值) 元組陣列。
2.其中的lambda函式可以參考:python的lambda-map-reduce
字典排序列表:
lis =[,
,,]lname=
sorted
(lis,key=
lambda kv:kv[
'name'])
print
(lname)
lage=
sorted
(lis,key=
lambda kv:kv[
'age'])
print
(lage)
輸出為:
[,,
,][,
,,]
字典按照值或鍵進行排序
sorted iterable,key,reverse sorted一共有iterable,key,reverse這三個引數 引數作用 iterable 可迭代物件 例如 dict.items dict.keys 等 key用來選取參與比較的元素,例如確定是按照字典的鍵比較還是按照值進行比較 rev...
python 按照字典的值進行排序
import sys import random reload sys sys.setdefaultencoding utf 8 這種字典,要對值進行按大小排序data str xie zhao chen data dic print data dic.keys 列印字典的所有鍵 print dat...
python 對字典按照value進行排序
字典按照value進行排序共有三種方法 d 第一種方法,key使用lambda匿名函式取value進行排序 a sorted d.items key lambda x x 1 a1 sorted d.items key lambda x x 1 reverse true print a print ...