91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

對python的字典進行排序的方法

發布時間:2020-09-03 10:53:46 來源:億速云 閱讀:171 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關對python的字典進行排序的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

我們知道Python的內置dictionary數據類型是無序的,通過key來獲取對應的value。可是有時我們需要對dictionary中 的item進行排序輸出,可能根據key,也可能根據value來排。到底有多少種方法可以實現對dictionary的內容進行排序輸出呢?下面摘取了 一些精彩的解決辦法。 

python對容器內數據的排序有兩種,一種是容器自己的sort函數,一種是內建的sorted函數。

sort函數和sorted函數唯一的不同是,sort是在容器內(in-place)排序,sorted生成一個新的排好序的容器。

1 按照Key值排序

#最簡單的方法,這個是按照key值排序: 
def sortedDictValues1(adict): 
items = adict.items() 
items.sort() 
return [value for key, value in items] 

#又一個按照key值排序,貌似比上一個速度要快點 
def sortedDictValues2(adict): 
keys = adict.keys() 
keys.sort() 
return [dict[key] for key in keys] 

#還是按key值排序,據說更快。。。而且當key為tuple的時候照樣適用 
def sortedDictValues3(adict): 
keys = adict.keys() 
keys.sort() 
return map(adict.get, keys) 

#一行語句搞定: 
[(k,di[k]) for k in sorted(di.keys())] 

#用sorted函數的key參數(func)排序: 
#按照key進行排序 
print sorted(dict1.items(), key=lambda d: d[0])

2 按照value值排序

#來一個根據value排序的,先把item的key和value交換位置放入一個list中,再根據list每個元素的第一個值,即原來的value值,
排序: 
def sort_by_value(d): 
items=d.items() 
backitems=[[v[1],v[0]] for v in items] 
backitems.sort() 
return [ backitems[i][1] for i in range(0,len(backitems))] 

#還是一行搞定: 
[ v for v in sorted(di.values())] 

#用lambda表達式來排序,更靈活: 
sorted(d.items(), lambda x, y: cmp(x[1], y[1])), 或反序: 
sorted(d.items(), lambda x, y: cmp(x[1], y[1]), reverse=True) 

#用sorted函數的key參數(func)排序: # 按照value進行排序 
print sorted(dict1.items(), key=lambda d: d[1])

關于對python的字典進行排序的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

利津县| 合阳县| 蒲城县| 连州市| 贵南县| 抚顺县| 遂昌县| 集安市| 奉贤区| 新疆| 余姚市| 滦南县| 大厂| 丘北县| 达州市| 龙陵县| 肥西县| 阿荣旗| 绵竹市| 封开县| 灯塔市| 巍山| 韩城市| 万安县| 株洲市| 万年县| 射洪县| 旺苍县| 二连浩特市| 札达县| 宁波市| 象州县| 锦屏县| 万州区| 海南省| 西华县| 淮阳县| 广昌县| 涞水县| 黔南| 陆良县|