Python常見排序操作示例【字典、列表、指定元素等】
本文實例講述了Python常見排序操作。分享給大家供大家參考,具體如下:
字典排序
- 按value排序
d1 = {"name":"python","bank":"icbc","country":china} # reverse是否倒序,x[1]代表value,x[0]為key d1 = sorted(d1.items(),lambda x: x[1],reverse=True)
- 按key排序
d1 = {"name":"python","bank":"icbc","country":china} d1 = sorted(d1.items())
列表排序
- 不去重排序
l = [3,2,4,5] l = sorted(l) # 升序 # l = sorted(l,reverse=True) # 降序
- 去重排序
l = [3,2,3,5,1] l = set(l) # 使用set集合去重 l = list(l) # l = sorted(l) # 排序
字典列表排序
# 以age升序排序 L = [ {"name":"python","age":12}, {"name":"ghj","age":10}, {"name":"java","age":17} ] L = sorted(L,key=lambda x: x["age"])
根據(jù)指定列表的元素順序進行排序
用途:對于取出MySQL與MongoDB的數(shù)據(jù)時,我們常常需要對數(shù)據(jù)進行位置更換順序,此時此種排序就能很好的解決我們的問題,對于下面列子中的sortList的數(shù)據(jù)我們可以使用Redis進行存儲
# 指定列表,假設(shè)存儲的是curList中的ID列表 sortList = ["4","3","5","2","1"] # 當前列表 curList = [{"id":"1","province":"河南"},{"id":"2","province":"河北"},{"id":"3","湖南"},{"id":"4","province":"湖北"},{"id":"5","province":"江西"}] # 根據(jù)指定列表中的ID順序,對當前列表進行排序 curList = sorted(curList,key = lambda item:sortList.index(item["id"])) print(curList) # [{"id":"4","province":"湖北"},{"id":"3","province":"湖南"},{"id":"5","province":"江西"},{"id":"2","province":"河北"},{"id":"1","province":"河南"}]
PS:這里再為大家推薦一款關(guān)于排序的演示工具供大家參考:
在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
python實現(xiàn)根據(jù)給定坐標點生成多邊形mask的例子
今天小編就為大家分享一篇python實現(xiàn)根據(jù)給定坐標點生成多邊形mask的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02Python編程判斷一個正整數(shù)是否為素數(shù)的方法
這篇文章主要介紹了Python編程判斷一個正整數(shù)是否為素數(shù)的方法,涉及Python數(shù)學運算相關(guān)操作技巧,需要的朋友可以參考下2017-04-04Anaconda安裝之后Spyder打不開解決辦法(親測有效!)
這篇文章主要給大家介紹了關(guān)于Anaconda安裝之后Spyder打不開解決辦法,文中將解決的過程介紹的非常詳細,親測有效,對同樣遇到這個問題的朋友具有一定的參考學習價值,需要的朋友可以參考下2023-04-04Python用zip函數(shù)同時遍歷多個迭代器示例詳解
這篇文章主要給大家進行介紹了Python如何用zip函數(shù)同時遍歷多個迭代器,文中給出了示例以及原理和注意事項,相信會對大家的理解和學習很有幫助,有需要的朋友們下面來一起學習學習吧。2016-11-11