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"])
根據指定列表的元素順序進行排序
用途:對于取出MySQL與MongoDB的數據時,我們常常需要對數據進行位置更換順序,此時此種排序就能很好的解決我們的問題,對于下面列子中的sortList的數據我們可以使用Redis進行存儲
# 指定列表,假設存儲的是curList中的ID列表 sortList = ["4","3","5","2","1"] # 當前列表 curList = [{"id":"1","province":"河南"},{"id":"2","province":"河北"},{"id":"3","湖南"},{"id":"4","province":"湖北"},{"id":"5","province":"江西"}] # 根據指定列表中的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:這里再為大家推薦一款關于排序的演示工具供大家參考:
在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數據結構與算法教程》、《Python列表(list)操作技巧總結》、《Python編碼操作技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
相關文章
Anaconda安裝之后Spyder打不開解決辦法(親測有效!)
這篇文章主要給大家介紹了關于Anaconda安裝之后Spyder打不開解決辦法,文中將解決的過程介紹的非常詳細,親測有效,對同樣遇到這個問題的朋友具有一定的參考學習價值,需要的朋友可以參考下2023-04-04