list.sort(reverse = False,key = )
list中的sort函數(shù)默認(rèn)是按照升序進(jìn)行排序的,當(dāng)sort中的reverse=True字段設(shè)置成True時(shí)按照降序排序。
其中sort中的key函數(shù)為排序參考元素。該參數(shù)只接受函數(shù)返回值作為輸入。
例如:
bookinfo=[('不一樣的卡梅拉(全套)',22.50,120),('零基礎(chǔ)學(xué)Android',65.10,89.80), ('擺渡人',23.40,36.00),('福爾摩斯探案全集8冊',22.50,128),('不一樣的卡梅拉(全套)',22.50,100),('擺渡人',23.40,40.00)]
bookinfo.sort(key=lambda x:(x[1],x[2]))
此時(shí)規(guī)則是按照列表中的第二個(gè)元素進(jìn)行排序,如果第二個(gè)元素相同,則按照第三個(gè)元素進(jìn)行排序。
當(dāng)列表為單層時(shí)(一層)
注意key函數(shù)的定義方式:
lis = [1,2,3,5,6,7,8]
lis.sort(key = lambda x:abs(x-5))
此時(shí)是按照列表中元素與5的距離進(jìn)行排序,函數(shù)不可寫成這樣:
lambda x:x[1]
因?yàn)榇藭r(shí)沒有對應(yīng)的索引。

image.png