python中字典dict排序sorted的實(shí)現(xiàn)
| key | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|
| value | 25 | 20 | 15 | 10 | 5 | 30 |
字典P={1:10,2:25,3:5,4:15,5:20,6:30}有以下3種迭代器:
P.items()
dict_items([(1, 10), (2, 25), (3, 5), (4, 15), (5, 20), (6, 30)])
P.keys()
dict_keys([1, 2, 3, 4, 5, 6])
P.valuse()
dict_values([10, 25, 5, 15, 20, 30])
一、sorted使用
基本用法
list = sorted(iterable, key=None, reverse=False) a = [5,3,4,2,1] print(sorted(a))#[1,2,3,4,5]
- key是排序的關(guān)鍵字
- reverse是升序還是降序,默認(rèn)False為升序
二、按照keys的順序?qū)ict中的keys排序
這里忽略dict中的values的存在,直接使用迭代器P.keys()排序即可,類似與list的排序
sorted(P.keys())
三、按照valuse的順序?qū)ict中的values排序
這里忽略dict中的keys的存在,直接使用迭代器P.valuse()排序即可,類似與list的排序.
sorted(P.valuse())
四、按照keys的順序?qū)ict中的items排序
sorted(P.items(),key=lambda item:item[0]) # [(1, 10), (2, 25), (3, 5), (4, 15), (5, 20), (6, 30)]
P.iems()是一個(gè)迭代器,其中每個(gè)元素以元組(1,10),(2,25),…的形式.lambda中tiem表示迭代器中的每個(gè)具體的元素,所以item[0]會(huì)表示原dict中的keys值.sorted中的key值是選擇了dict中的keys作為排序的準(zhǔn)則.
或者,上面是一種理解的形式,下面的一種對(duì)sorted對(duì)dict的默認(rèn)形式.本質(zhì)上是一種.
sorted(P.items()) #[(1, 10), (2, 25), (3, 5), (4, 15), (5, 20), (6, 30)]
五、按照values的順序?qū)ict中的items排序
sorted(P.items(),key=lambda item:item[1]) # [(3, 5), (1, 10), (4, 15), (5, 20), (2, 25), (6, 30)]
理解同上
六、按照keys的順序?qū)ict的values排序
P1=sorted(P.items(),key=lambda item:item[0]) #[(1, 10), (2, 25), (3, 5), (4, 15), (5, 20), (6, 30)] P2=[a[1] for a in P1] # [10, 25, 5, 15, 20, 30]
或者
P2=[a[1] for a in sorted(P.items()]) ]
七、按照values的順序?qū)ict中的keys排序
P1=sorted(P.items(),key=lambda item:item[1] # [(3, 5), (1, 10), (4, 15), (5, 20), (2, 25), (6, 30)] P2=[a[0] for a in P1] # [3, 1, 4, 5, 2, 6]

八、字典的先進(jìn)先出
OrderedDict 是 按照有序插入順序存儲(chǔ) 的有序字典。
from collections import OrderedDict
增加方法: popitem(last=True)
移除并返回一個(gè)鍵值對(duì),last=True 時(shí),后進(jìn)先出,反之,先進(jìn)先出。
move_to_end(key, last=True)
last=True時(shí),將鍵值對(duì)移至最右。反之,移至最左。key不存在時(shí),拋錯(cuò) KeyError。
到此這篇關(guān)于python中字典dict排序sorted的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)python字典dict排序sorted內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)Excel表內(nèi)關(guān)鍵字查修改刪
在日常辦公和數(shù)據(jù)處理中,Excel作為最常用的表格工具,承載著海量業(yè)務(wù)數(shù)據(jù),但對(duì)于有些場(chǎng)景也會(huì)力不從心,本文將使用Python開(kāi)發(fā)一個(gè)Excel表內(nèi)關(guān)鍵字查修改刪工具,需要的可以參考下2025-04-04
python 實(shí)現(xiàn)return返回多個(gè)值
今天小編就為大家分享一篇python 實(shí)現(xiàn)return返回多個(gè)值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
python構(gòu)建基礎(chǔ)的爬蟲(chóng)教學(xué)
在本篇內(nèi)容里小編給大家分享的是關(guān)于python構(gòu)建基礎(chǔ)的爬蟲(chóng)教學(xué)內(nèi)容,需要的朋友們學(xué)習(xí)下。2018-12-12
jupyter notebook實(shí)現(xiàn)顯示行號(hào)
這篇文章主要介紹了jupyter notebook實(shí)現(xiàn)顯示行號(hào),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
python中pandas.read_csv()函數(shù)的實(shí)現(xiàn)
本文主要介紹了python中pandas.read_csv()函數(shù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-05-05
Python?Celery定時(shí)任務(wù)詳細(xì)講解
這篇文章主要介紹了Python?Celery定時(shí)任務(wù)詳細(xì)講解,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-08-08
python 使用pygame工具包實(shí)現(xiàn)貪吃蛇游戲(多彩版)
這篇文章主要介紹了python 使用pygame工具包實(shí)現(xiàn)貪吃蛇游戲,本篇給大家分享的是一個(gè)多彩版,通過(guò)實(shí)例代碼給大家講解,非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10
Python實(shí)現(xiàn)批量將圖像png格式轉(zhuǎn)為npy格式
在進(jìn)行深度學(xué)習(xí)處理時(shí),有些的代碼處理的數(shù)據(jù)格式為npy,但是常常有的數(shù)據(jù)格式為png,因此本文就來(lái)介紹一下Python如何實(shí)現(xiàn)圖像批量png格式轉(zhuǎn)為npy格式,需要的可以參考下2023-12-12

