python的sorted函數(shù)及使用解析
一、sort函數(shù)
如果對python中的列表進(jìn)行排序,可以使用List類的成員函數(shù)sort,該函數(shù)會(huì)在原空間上進(jìn)行操作,對列表本身進(jìn)行修改,不返回副本。語法如下:
L.sort(cmp=None, key=None, reverse=False)
二、sorted函數(shù)
sorted函數(shù)就比sort函數(shù)要強(qiáng)大許多了,sort只能對列表進(jìn)行排序,sorted可以對所有可迭代類型進(jìn)行排序,并且返回新的已排序的列表。語法如下:
sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
一共可接受4個(gè)參數(shù),含義分別如下:
1.可迭代類型,例如字典、列表、
2.比較函數(shù)
3.可迭代類型中某個(gè)屬性,對給定元素的每一項(xiàng)進(jìn)行排序
4.降序或升序
三、結(jié)合使用
與sorted經(jīng)常結(jié)合使用的有:
1.比較函數(shù)經(jīng)常會(huì)用到lambda。
lambda表達(dá)式,通常是在需要一個(gè)函數(shù),但是又不想費(fèi)神去命名一個(gè)函數(shù)的場合下使用,也就是指匿名函數(shù)。比如對元組組成的列表中某一項(xiàng)進(jìn)行排序:
students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10),]
sorted(students, key=lambda student : student[2]) # sort by age
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)] 2.比較函數(shù)經(jīng)常會(huì)用到operator.itemgetter函數(shù)
operator模塊提供的itemgetter函數(shù)用于獲取對象的哪些維的數(shù)據(jù),參數(shù)為一些序號。
要注意,operator.itemgetter函數(shù)獲取的不是值,而是定義了一個(gè)函數(shù),通過該函數(shù)作用到對象上才能獲取值。
sorted函數(shù)用來排序,sorted(iterable[, cmp[, key[, reverse]]])
其中key的參數(shù)為一個(gè)函數(shù)或者lambda函數(shù)。所以itemgetter可以用來當(dāng)key的參數(shù)
例如根據(jù)第二個(gè)域和第三個(gè)域進(jìn)行排序
a = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
sorted(students, key=operator.itemgetter(1,2))3.可迭代元素經(jīng)常會(huì)用到items
items是字典中的一個(gè)方法,返回由元組組成的列表。
四、對字典的值進(jìn)行排序
dict={'a':1,'b':2}
ans = sorted(dict.items(), key = lambda x:x[1], reverse = True)Python中sorted()用法
sorted()函數(shù):返回一個(gè)排序后的新序列,不改變原始序列。
我們知道,Python中列表是基本數(shù)據(jù)類型之一,是寫在方括號之間,用逗號分隔開的元素序列??梢酝瑫r(shí)存在數(shù)字、字符串、元組、字典、集合等數(shù)據(jù)類型的對象,甚至可以包含列表(即嵌套),例如。[1,2,3] [a,b,c] [123,[abc]]
關(guān)于列表的常用函數(shù),例如sorted()函數(shù),具體用法及案例如下:
sorted(iterable[,key][,reverse])返回一個(gè)排序后的新序列,不改變原始的序列。
第一個(gè)參數(shù)interable是可迭代的對象。
第二個(gè)參數(shù)key用來指定一個(gè)帶參數(shù)的函數(shù),該函數(shù)會(huì)在每個(gè)元素排序前被調(diào)用,如key=abs #按絕對值大小排序。
key指定的函數(shù)將作用于list的每一個(gè)元素上,并根據(jù)key指定的函數(shù)返回的結(jié)果進(jìn)行排序。
第三個(gè)參數(shù)reverse用來指定正向還是反向排序
如反向排序第三個(gè)參數(shù)reverse=True:
例如>>>sorted(['bcd','about','diff','create'],key=str.lower,reverse=True) #按小寫反向排序
['diff','create','bcd','about']
到此這篇關(guān)于python的sorted函數(shù)的文章就介紹到這了,更多相關(guān)python sorted函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pytorch中的 torch.distributions庫詳解
這篇文章主要介紹了Pytorch中的 torch.distributions庫,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02
Python使用QRCode模塊生成二維碼實(shí)例詳解
這篇文章主要介紹了Python使用QRCode模塊生成二維碼實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06
Python使用matplotlib.pyplot畫熱圖和損失圖的代碼詳解
眾所周知,在完成論文相關(guān)工作時(shí)畫圖必不可少,如損失函數(shù)圖、熱力圖等是非常常見的圖,在本文中,總結(jié)了這兩個(gè)圖的畫法,下面給出了完整的代碼,開箱即用,感興趣的同學(xué)可以自己動(dòng)手嘗試一下2023-09-09
Python中的異常處理try/except/finally/raise用法分析
這篇文章主要介紹了Python中的異常處理try/except/finally/raise用法,結(jié)合實(shí)例形式分析了Python異常處理try/except/finally/raise相關(guān)功能與使用操作技巧,并附帶了Python常見異常的表格說明,需要的朋友可以參考下2019-02-02
Python獲取list中指定元素索引的兩種方法小結(jié)
本文主要介紹了兩種在Python中獲取列表中指定元素索引的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01
淺談keras中自定義二分類任務(wù)評價(jià)指標(biāo)metrics的方法以及代碼
這篇文章主要介紹了淺談keras中自定義二分類任務(wù)評價(jià)指標(biāo)metrics的方法以及代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06

