Python 序列的排序,包括字典排序、列表排序、升序、降序
列表的排序
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)