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

python排序字典

發布時間: 2024-05-15 14:42:14

python中字典能排序嗎

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

Ⅱ 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字典排序問題

python3.7以上默認是按照你添加字典項目的順序,而不會給你排序

python3.6以下連插入順序都是不保證的

Ⅳ python字典中根據值的大小,按順序排列鍵有什麼方法

s={"a":"bb","b":"cc","c":"aa"}
deffun(s):
d=sorted(s.iteritems(),key=lambdat:t[1],reverse=False)
returnd

d=fun(s)
printd

iteritems()得到的[(鍵,值)]的列表,通過sorted方法,指定排序的鍵值key是原來字典中的value屬性,其中用到了匿名函數lambda,參數為t列表,返回第二個元素t[1],也就是每個鍵值對中的value,從小到大排序時reverse=False,從大到小排序是True!

Ⅳ 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)]瀵瑰瓧鍏稿厓緔犵殑鎺掑簭鉶界劧鏈夊ソ澶氱嶆柟娉曪紝榪欓噷涔熸病鏈夋葷粨鍏錛屼絾濡傛灉瀵圭▼搴忔晥鐜囨病鏈夊お楂樿佹眰錛岄夋嫨鍠滄㈢殑鐢ㄥ氨濂姐

Ⅵ python字典怎麼排序

python字典怎麼排序?
定義一個字典類型
mydict = {2: '小路', 3: '黎明', 1: '郭富城', 4:'周董'}
可分別列印 key和value 看一下數據
按KEY排序,使用了 lambda和 reverse= False(正序)
key和value都輸出
reverse= True(逆序)
按value排序,漢字次序不是按拼音輸出
sorted並不改變字典本身的數據次序。
輸出後為列表和元組
可以 A = sorted(mydict.items(),key = lambda mydict:mydict[1],reverse= False) 賦值給A ,A的次序是變化後的
推薦:《Python教程》
注意事項
sorted並不改變字典本身的數據次序
如果要變化後的 可以賦值給另一個列表變數以上就是小編分享的關於python字典怎麼排序的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!

Ⅶ python涓濡備綍瀵瑰瓧鍏歌繘琛屾帓搴

python涓瀛楀吀鏄鏃犲簭鐨勶紝浣嗘槸濡傛灉瀛樻斁鐨勪竴緇勮繖鏍風殑鏁版嵁錛屽傛煇鐝鏁板︽垚緇﹞鈥渟tudent1":98, "student2":88, "student3":79, "student4":62...},瀵規暟瀛︽垚緇╄繘琛屾帓搴忥紝
鏂規硶涓錛氫嬌鐢╬ython鍐呯疆鍑芥暟sorted榛樿ゅ弬鏁版帓搴
1. 鍏堟瀯寤轟竴緇勪嬌鐢ㄥ瓧鍏稿瓨鍌ㄧ殑鐢ㄤ緥鏁版嵁 鏌ョ湅瀛楀吀鐨勯敭鍜屽

2. 浣跨敤zip楂橀樁鍑芥暟鎶婃暟鎹鍙樻垚錛堝礆紝閿錛夊厓緇勫艦寮 鐒跺悗浣跨敤sorted榛樿ゅ弬鏁版帓搴

鏂規硶浜岋細緇欏畾sorted鐨勫弬鏁拌繘琛屾帓搴
1. 鍏堟煡鐪嬩笅sorted鐨勬枃妗d粙緇

2. sorted鏂規硶榛樿key=None,浠庡皬鍒板ぇ鎺掑垪
3. 緇欏畾sorted鎸囧畾鍙傛暟榪涜屾帓搴 騫朵笖緇撴灉鎸夌収浠庡ぇ鍒板皬鎺掑垪

Ⅷ python 中的字典怎麼排序,怎麼按照添加的順序顯示

其實在Python2.7.x版本中, collections類增加了OrderedDict, 用法如下:pywugw@pywugw-laptop:~$ /usr/local/bin/python2.7 Python 2.7b1 (r27b1:79927, Apr 26 2010, 11:44:19) [GCC 4.4.3] on linux2 Type "help", "right", "credits" or "license" for more information. >>> from collections import OrderedDict >>> d = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2}#按key排序 >>> OrderedDict(sorted(d.items(), key=lambda t: t[0])) OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)])#按value排序 >>> OrderedDict(sorted(d.items(), key=lambda t: t[1])) OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)]) #按key的長度排序 >>> OrderedDict(sorted(d.items(), key=lambda t: len(t[0]))) OrderedDict([('pear', 1), ('apple', 4), ('orange', 2), ('banana', 3)])

熱點內容
安卓平板有什麼可以畫對稱的 發布:2024-07-27 09:36:03 瀏覽:132
羊創意腳本 發布:2024-07-27 09:29:30 瀏覽:894
榮耀v20升級存儲 發布:2024-07-27 09:20:19 瀏覽:485
安卓用什麼和電腦傳圖片 發布:2024-07-27 09:02:07 瀏覽:288
存儲過程就是 發布:2024-07-27 08:56:51 瀏覽:131
c語言高級試題 發布:2024-07-27 08:48:30 瀏覽:282
ip伺服器世界上有幾台 發布:2024-07-27 08:46:18 瀏覽:394
金立手機怎麼清理緩存 發布:2024-07-27 08:38:50 瀏覽:311
iphone文件夾不顯示 發布:2024-07-27 08:18:05 瀏覽:774
y510p固態硬碟做緩存 發布:2024-07-27 07:59:34 瀏覽:128