當前位置:首頁 » 編程語言 » python字典按值排序

python字典按值排序

發布時間: 2024-07-27 18:33:42

python中字典能排序嗎

用標準的dict生成的字典是無序的。但python在標准庫中提供了ordereddict,它提供了有序字典的數據結構。

㈡ 在python中,給字典排序並畫餅圖

#coding=utf-8
importnumpyasnp
importmatplotlib.pyplotasplt

res={
11:234,
44:565,
22:453,
33:767,
55:890,
66:67,
77:88
}
labels=[]
fracs=[]
fork,vinres.items():
labels.append(str(k))
fracs.append(v)

explode=[0,0,0,0]#0.1凸出這部分,
plt.axes(aspect=1)#setthis,Figureisround,otherwiseitisanellipse
#autopct,showpercet
plt.pie(x=fracs,labels=labels,explode=None,autopct='%3.1f%%',
shadow=True,labeldistance=1.1,startangle=90,pctdistance=0.6

)
'''
labeldistance,文本的位置離遠點有多遠,1.1指1.1倍半徑的位置
autopct,圓裡面的文本格式,%3.1f%%表示小數有三位,整數有一位的浮點數
shadow,餅是否有陰影
startangle,起始角度,0,表示從0開始逆時針轉,為第一塊。一般選擇從90度開始比較好看
pctdistance,百分比的text離圓心的距離
patches,l_texts,p_texts,為了得到餅圖的返回值,p_texts餅圖內部文本的,l_texts餅圖外label的文本
'''

plt.show()

㈢ python怎麼對字典進行排序

python 字典(dict)的特點就是無序的,按照鍵(key)來提取相應值(value),如果我們需要字典按值排序的話,那可以用下面的方法來進行:

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

dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}
dict= sorted(dic.iteritems(), key=lambda d:d[1], reverse = True)
print dict

輸出的結果:
[('aa', 74), ('a', 31), ('bc', 5), ('asd', 4), ('c', 3), ('d', 0)]

下面我們分解下代碼
print dic.iteritems() 得到[(鍵,值)]的列表。
然後用sorted方法,通過key這個參數,指定排序是按照value,也就是第一個元素d[1的值來排序。reverse = True表示是需要翻轉的,默認是從小到大,翻轉的話,那就是從大到小。

2 對字典按鍵(key)排序:
dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}
dict= sorted(dic.iteritems(), key=lambda d:d[0]) d[0]表示字典的鍵
print dict

㈣ python中字典如何按照value值排序,並分別取出前n個value值和key值

before={
"key1":5,
"key2":6,
"key3":4,
"key4":3,
}
#排序
after=dict(sorted(before.items(),key=lambdae:e[1]))

print(after)

#取出前幾個,也可以在sorted返回的list中取前幾個
cnt=0
forkey,valueinafter.items():
cnt+=1
ifcnt>required_cnt:
break
print("{}:{}".format(key,value))

㈤ Python之字典排序,這篇文章里,return的東西有點看不懂

return [value for key, value in items] #返回一個「由字典項的值組成的列表[]
比如字典items是{ 'a':0, 'b':1, 'c':2}
將返回[0,1,2]

return [adict[key] for key in keys] #將以字典keys的鍵作為字典adict的鍵,返回一個「由字典adict的值組成的列表[]
比如keys為{ 'a':0, 'b':1, 'c':2},adict為{ 'a':3, 'b':4, 'c':5}
將返回[3, 4, 5]

return map(adict.get,keys) #函數映射,把keys的鍵值逐個映射到adict.get函數,即用keys的鍵求adict的值,返回到一個遍歷器。
執行list(map(adict.get,keys))得到[3,4,5] 順序或有不同

㈥ python 字典順序有序支持的版本

是3、9版本。
在新的版本中,python針對key的存儲已經變為有序,在遍歷和列印的時候,會按照存儲的順序進行取值。
再補充一點:之前介紹到,在字典中,key是唯一的。這里並不是說寫了不唯一的key就會報錯,只是會用後面的key和value去覆蓋前面的key和value。

㈦ python涓鐨勫瓧鍏告帓搴忓備綍瀹炵幇浠g爜璇存槑


榪欑瘒鏂囩珷涓昏佷粙緇嶄簡python瀛楀吀鎺掑簭瀹炵幇鏂規硶,瀹炰緥鍒嗘瀽浜哖ython瀛楀吀鎺掑簭鐨勭浉鍏蟲妧宸,闇瑕佺殑鏈嬪弸鍙浠ュ弬鑰冧笅
鏈鏂囧疄渚嬪垎鏋愪簡python瀛楀吀鎺掑簭鐨勬柟娉曘傚垎浜緇欏ぇ瀹朵緵澶у跺弬鑰冦傚叿浣撳備笅錛
1銆 鍑嗗囩煡璇嗭細
鍦╬ython閲岋紝瀛楀吀dictionary鏄鍐呯疆鐨勬暟鎹綾誨瀷錛屾槸涓鏃犲簭鐨勫瓨鍌ㄧ粨鏋勶紝姣忎竴鍏冪礌鏄痥ey-value瀵癸細
濡傦細dict = {'username'錛'password'錛'database'錛'master'}錛屽叾涓'username'鍜'database'鏄痥ey錛岃'password'鍜'master'鏄痸alue錛屽彲浠ラ氳繃d[key]鑾峰緱瀵瑰簲鍊紇alue鐨勫紩鐢錛屼絾鏄涓嶈兘閫氳繃value寰楀埌key銆
瀵逛簬dictionnary錛岄渶鐭ラ亾浠ヤ笅鍑犵偣娉ㄦ剰浜嬮」錛
a銆 dictionary 鐨 key 鏄澶у皬鍐欐晱鎰熺殑錛
b銆 涓涓猟ictionary涓涓嶈兘鏈夐噸澶嶇殑 key錛
c銆 dictionary鏄鏃犲簭鐨勶紝娌℃湁鍏冪礌欏哄簭鐨勬傚康錛屽畠浠鍙鏄搴忓伓鐨勭畝鍗曟帓鍒椼
2銆 瀛楀吀鎺掑簭瀹炵幇錛
鍓嶉潰宸茶存槑dictionary鏈韜娌℃湁欏哄簭姒傚康錛屼絾鏄鎬繪槸鍦ㄦ煇浜涙椂鍊欙紝浣嗘槸鎴戜滑甯稿父闇瑕佸瑰瓧鍏歌繘琛屾帓搴忥紝鎬庝箞鍋氬憿錛熶笅闈㈠憡璇変綘錛
鏂規硶1錛氭渶綆鍗曠殑鏂規硶錛屾帓鍒楀厓緔(key/value瀵)錛岀劧鍚庢寫鍑哄箋傚瓧鍏哥殑items鏂規硶錛屼細榪斿洖涓涓鍏冪粍鐨勫垪琛錛屽叾涓姣忎釜鍏冪粍閮藉寘鍚涓瀵歸」鐩鈥斺旈敭涓庡瑰簲鐨勫箋傛ゆ椂鎺掑簭鍙浠sort()鏂規硶銆
def sortedDictValues1(adict):
items = adict.items()
items.sort()
return [value for key, value in items]鏂規硶2錛氫嬌鐢ㄦ帓鍒楅敭(key)鐨勬柟寮忥紝鎸戝嚭鍊礆紝閫熷害姣旀柟娉1蹇銆傚瓧鍏稿硅薄鐨刱eys()鏂規硶榪斿洖瀛楀吀涓鎵鏈夐敭鍊肩粍鎴愮殑鍒楄〃錛屾″簭鏄闅忔満鐨勩傞渶瑕佹帓搴忔椂鍙瑕佸硅繑鍥炵殑閿鍊煎垪琛ㄤ嬌鐢╯ort()鏂規硶銆
def sortedDictValues1(adict):
keys = adict.keys()
keys.sort()
return [adict[key] for key in keys]鏂規硶3錛氶氳繃鏄犲皠鐨勬柟娉曞幓鏇存湁鏁堢殑鎵ц屾渶鍚庝竴姝
def sortedDictValues1(adict):
keys = adict.keys()
keys.sort()
return map(adict.get,keys)鏂規硶4錛氬瑰瓧鍏告寜閿鎺掑簭錛岀敤鍏冪粍鍒楄〃鐨勫艦寮忚繑鍥烇紝鍚屾椂浣跨敤lambda鍑芥暟鏉ヨ繘琛岋紱
sorted(iterable[, cmp[, key[, reverse]]]
cmp鍜宬ey涓鑸浣跨敤lambda
濡傦細
>>> d={"ok":1,"no":2}#瀵瑰瓧鍏告寜閿鎺掑簭錛岀敤鍏冪粍鍒楄〃鐨勫艦寮忚繑鍥
>>> sorted(d.items, key=lambda d:d[0])
[('no', 2), ('ok', 1)]瀵瑰瓧鍏告寜鍊兼帓搴忥紝鐢ㄥ厓緇勫垪琛ㄧ殑褰㈠紡榪斿洖
>>> sorted(d.items, key=lambda d:d[1])
[('ok', 1), ('no', 2)]瀵瑰瓧鍏稿厓緔犵殑鎺掑簭鉶界劧鏈夊ソ澶氱嶆柟娉曪紝榪欓噷涔熸病鏈夋葷粨鍏錛屼絾濡傛灉瀵圭▼搴忔晥鐜囨病鏈夊お楂樿佹眰錛岄夋嫨鍠滄㈢殑鐢ㄥ氨濂姐

熱點內容
改進bp演算法 發布:2024-09-08 11:22:23 瀏覽:977
酷狗怎麼清除緩存 發布:2024-09-08 11:17:29 瀏覽:154
開發板主板交叉編譯 發布:2024-09-08 11:12:59 瀏覽:167
手機學c語言軟體 發布:2024-09-08 11:12:03 瀏覽:281
java培訓課程有那些 發布:2024-09-08 11:11:30 瀏覽:651
舊筆記本如何裝安卓系統 發布:2024-09-08 11:10:20 瀏覽:953
安卓怎麼關閉藍牙自動連接 發布:2024-09-08 10:58:12 瀏覽:11
tsm伺服器修改ip地址 發布:2024-09-08 10:21:06 瀏覽:615
共享雲源碼 發布:2024-09-08 10:01:10 瀏覽:397
ios應用上傳 發布:2024-09-08 09:39:41 瀏覽:441