溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python中sort和sorted函數(shù)代碼解析

發(fā)布時間:2020-09-16 03:37:12 來源:腳本之家 閱讀:168 作者:追夢船 欄目:開發(fā)技術(shù)

本文研究的主要是Python中sort和sorted函數(shù)的相關(guān)內(nèi)容,具體如下。

一、sort函數(shù)

sort函數(shù)是序列的內(nèi)部函數(shù)

函數(shù)原型:

L.sort(cmp=None, key=None, reverse=False)

函數(shù)作用:

它是把L原地排序,也就是使用后并不是返回一個有序的序列副本,而是把當(dāng)前序列變得有序

參數(shù)說明:

(1) cmp參數(shù)

cmp接受一個函數(shù),拿整形舉例,形式為:

def f(a,b):
   return a-b

如果排序的元素是其他類型的,如果a邏輯小于b,函數(shù)返回負數(shù);a邏輯等于b,函數(shù)返回0;a邏輯大于b,函數(shù)返回正數(shù)就行了

(2) key參數(shù)

key也是接受一個函數(shù),不同的是,這個函數(shù)只接受一個元素,形式如下

def f(a):
   return len(a)

key接受的函數(shù)返回值,表示此元素的權(quán)值,sort將按照權(quán)值大小進行排序

(3) reverse參數(shù)

接受False 或者True 表示是否逆序

sort舉例:

(1)按照元素長度排序

L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]
def f(x):
  return len(x)
sort(key=f)
print L

輸出:

[{1: 9}, {1: 5, 3: 4}, {1: 3, 6: 3}, {1: 1, 2: 4, 5: 6}]

(2)按照每個字典元素里面key為1的元素的值排序

L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}]
def f2(a,b):
  return a[1]-b[1]
L.sort(cmp=f2)
print L

輸出:

[{1: 1, 2: 4, 5: 6}, {1: 3, 6: 3}, {1: 5, 3: 4}, {1: 9}]

二、sorted函數(shù)

sorted函數(shù)是內(nèi)建函數(shù),他接受一個序列,返回有序的副本

他與sort的唯一區(qū)別就是會返回副本

總結(jié)

以上就是本文關(guān)于Python sort sorted函數(shù)代碼解析的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI