python的sort 函式詳解

2021-07-12 00:04:36 字數 1280 閱讀 5898

函式 sort()用於列表中元素的排序

list.sort() 不會返回物件,會改變原有的list

(這點與sorted()不同,sorted()函式會返回乙個列表,而sort()函式是直接在原來的基礎上修改,其次注意語法)

函式sort()會預設地按公升序排列,能否讓sort()函式按我們想要的排列方式進行排列呢?

**sort()函式原型:

list.sort(key=none, reverse=false)**

(1) key引數

key接受的是乙個只有乙個形參的函式,形式如下

def f(a):

return len(a)

key接受的函式返回值,表示此元素的權值,sort將按照權值大小進行排序

(2) reverse引數

reverse接受的是乙個bool型別的值 (ture or false),表示是否顛倒排列順序,一般預設的是false,注意第乙個字母是大寫的

補充說明:

在python2裡面的sort()函式是有三個引數的:

l.sort(cmp=none, key=none, reverse=false)

其中的cmp在python裡面已經被刪除了,但是還是說明一下

cmp引數:

cmp接受乙個函式,拿整形舉例,形式為:

def f(a,b):

return a-b

如果排序的元素是其他型別的,

你所定義的這個函式只需滿足a邏輯小於b,函式返回負數;a邏輯等於b,函式返回0;a邏輯大於b,函式返回正數就行了

cmp()函式本身在python2裡是乙個內建函式

cmp(42,32)

1 cmp(99,100)

-1 cmp(10,10)

0

sort函式詳解

使用 include using namespace std 作用 排序 時間複雜度 n lg n 實現原理 sort並不是簡單的快速排序,它對普通的快速排序進行了優化,此外,它還結合了插入排序和推排序。系統會根據你的資料形式和資料量自動選擇合適的排序方法,這並不是說它每次排序只選擇一種方法,它是在...

sort函式詳解

sort函式詳解 史上最完整qaq 閱讀目錄 使用 include using namespace std 作用 排序 時間複雜度 n lg n 實現原理 sort並不是簡單的快速排序,它對普通的快速排序進行了優化,此外,它還結合了插入排序和推排序。系統會根據你的資料形式和資料量自動選擇合適的排序方...

sort()函式詳解

1 形式 sort first pointer,first pointer n,cmp 引數解釋 第乙個引數是陣列的首位址,一般寫上陣列名就可以,因為陣列名是乙個指標常量。第二個引數相對較好理解,即首位址加上陣列的長度n 代表尾位址的下一位址 最後乙個引數是比較函式的名稱 自定義函式cmp 這個比較...