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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM