本文實(shí)例講述了Python常見(jiàn)排序操作。分享給大家供大家參考,具體如下:
字典排序
按value排序d1 = {"name":"python","bank":"icbc","country":china}# reverse是否倒序,x[1]代表value,x[0]為keyd1 = 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ù)指定列表的元素順序進(jìn)行排序
用途:對(duì)于取出MySQL與MongoDB的數(shù)據(jù)時(shí),我們常常需要對(duì)數(shù)據(jù)進(jìn)行位置更換順序,此時(shí)此種排序就能很好的解決我們的問(wèn)題,對(duì)于下面列子中的sortList的數(shù)據(jù)我們可以使用Redis進(jìn)行存儲(chǔ)
# 指定列表,假設(shè)存儲(chǔ)的是curList中的ID列表sortList = ["4","3","5","2","1"]# 當(dāng)前列表curList = [{"id":"1","province":"河南"},{"id":"2","province":"河北"},{"id":"3","湖南"},{"id":"4","province":"湖北"},{"id":"5","province":"江西"}]# 根據(jù)指定列表中的ID順序,對(duì)當(dāng)前列表進(jìn)行排序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)于排序的演示工具供大家參考:
在線動(dòng)畫(huà)演示插入/選擇/冒泡/歸并/希爾/快速排序算法過(guò)程工具:
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入門(mén)與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選