列表的排序
1、升序、降序采用sorted函數,返回排序后的結果
list1=[7,2,55,312,32] #升序排序 list2asc=sorted(list1) print("升序排序結果:") print(list2asc) #降序排序 list3desc=sorted(list1,reverse=True) print("降序排序結果:") print(list3desc)
2、逆序采用reversed函數,返回逆序的結果
#逆序輸出 list1=[7,2,55,312,32] list4rev=list(reversed(list1)) print("逆序排序結果:") print(list4rev)
3、列表的復雜排序
#復雜列表 list5=[["老劉",40],["老張",60],["老李",47]] #升降序需要使用key和lambda表達式 #升序 list6asc=sorted(list5,key=lambda list5:list5[1]) print(list6asc) #降序 list7desc=sorted(list5,key=lambda list5:list5[1],reverse=True) print(list7desc)
字典的排序
1、采用魔術屬性排序,對字典的鍵進行排序,按照鍵來進行升序或者降序
#升序 dic1={"d2":25,"d1":76,"d3":115} dic2asc=sorted(dic1,key=dic1.__getitem__) for i in dic2asc: print(i,dic1[i]) #降序 dic1={"d2":25,"d1":76,"d3":115} dic3desc=sorted(dic1,key=dic1.__getitem__,reverse=True) for i in dic3desc: print(i,dic1[i])
2、items方法,結合lambda表達式排序,默認輸出的是列表的結果,可用dict函數轉化為字典
#使用item方法排序 #升序 dic1={"d2":25,"d1":76,"d3":115} dic4asc=dict(sorted(dic1.items(),key=lambda dic1:dic1[1])) print(dic4asc) #降序 dic1={"d2":25,"d1":76,"d3":115} dic5desc=dict(sorted(dic1.items(),key=lambda dic1:dic1[1],reverse=True)) print(dic5desc)