...">
瀏覽量:121次
python sorted函數(shù)是怎樣的呢?下面就讓我們一起來了解一下吧:
sorted()函數(shù)一般是用于對(duì)所有可迭代的對(duì)象進(jìn)行排序操作。
它與sort 是有一定區(qū)別的,具體的區(qū)別是:
sort通常是應(yīng)用在list上的方法,而sorted則能夠?qū)λ锌傻膶?duì)象進(jìn)行排序操作。
list中的sort方法一般返回的是對(duì)已經(jīng)存在的列表進(jìn)行操作,無返回值,但是內(nèi)建函數(shù)sorted方法返回的是一個(gè)新的list,因此它并不是在原有的基礎(chǔ)上進(jìn)行操作。
語法格式:
sorted(iterable, cmp=None, key=None, reverse=False)
參數(shù):
iterable -- 可迭代對(duì)象。
cmp -- 比較的函數(shù),這個(gè)具有兩個(gè)參數(shù),參數(shù)的值都是從可迭代對(duì)象中取出,此函數(shù)必須遵守的規(guī)則為,大于則返回1,小于則返回-1,等于則返回0。
key -- 主要是用來進(jìn)行比較的元素,只有一個(gè)參數(shù),具體的函數(shù)的參數(shù)就是取自于可迭代對(duì)象中,指定可迭代對(duì)象中的一個(gè)元素來進(jìn)行排序。
reverse -- 排序規(guī)則,reverse = True 降序 , reverse = False 升序(默認(rèn))。
參考范例:
>>>a = [5,7,6,3,4,1,2]
>>> b = sorted(a)? ? ? ?# 保留原列表
>>> a?
[5, 7, 6, 3, 4, 1, 2]
>>> b
[1, 2, 3, 4, 5, 6, 7]
>>> L=[('b',2),('a',1),('c',3),('d',4)]
>>> sorted(L, cmp=lambda x,y:cmp(x[1],y[1]))? ?# 利用cmp函數(shù)
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
>>> sorted(L, key=lambda x:x[1])? ? ? ? ? ? ? ?# 利用key
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
>>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
>>> sorted(students, key=lambda s: s[2])? ? ? ? ? ? # 按年齡排序
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
>>> sorted(students, key=lambda s: s[2], reverse=True)? ? ? ?# 按降序
[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
>>>
[聲明]本網(wǎng)轉(zhuǎn)載網(wǎng)絡(luò)媒體稿件是為了傳播更多的信息,此類稿件不代表本網(wǎng)觀點(diǎn),本網(wǎng)不承擔(dān)此類稿件侵權(quán)行為的連帶責(zé)任。故此,如果您發(fā)現(xiàn)本網(wǎng)站的內(nèi)容侵犯了您的版權(quán),請(qǐng)您的相關(guān)內(nèi)容發(fā)至此郵箱【779898168@qq.com】,我們?cè)诖_認(rèn)后,會(huì)立即刪除,保證您的版權(quán)。
官網(wǎng)優(yōu)化
整站優(yōu)化
渠道代理
400-655-5776