一、基本形式
列表有自己的sort方法,其對列表進行原址排序,既然是原址排序,那顯然元組不可能擁有這種方法,因為元組是不可修改的。
x = [4, 6, 2, 1, 7, 9]
x.sort()
print x # [1, 2, 4, 6, 7, 9]
獲取已排序的列表副本的方法是使用sorted函式:
x =[4, 6, 2, 1, 7, 9]
y = sorted(x)
print y #[1, 2, 4, 6, 7, 9]
print x #[4, 6, 2, 1, 7, 9]
二、自定義比較函式
可以定義自己的比較函式,然後通過引數傳遞給sort方法:
def comp(x, y):
if x < y:
return 1
elif x > y:
return -1
else:
return 0
nums = [3, 2, 8 ,0 , 1]
nums.sort(comp)
print nums # 降序排序[8, 3, 2, 1, 0]
nums.sort(cmp) # 呼叫內建函式cmp ,公升序排序
print nums # 降序排序[0, 1, 2, 3, 8]
三、可選引數
sort方法還有兩個可選引數:key和reverse
1、key在使用時必須提供乙個排序過程總呼叫的函式:
x = ['mmm', 'mm', 'mm', 'm' ]
x.sort(key = len)
print x # ['m', 'mm', 'mm', 'mmm']
2、reverse實現降序排序,需要提供乙個布林值:
y = [3, 2, 8 ,0 , 1]
y.sort(reverse = true)
print y #[8, 3, 2, 1, 0]
sort函式用法
sort函式的用法 做acm題的時候,排序是一種經常要用到的操作。如果每次都自己寫個冒泡之類的o n 2 排序,不但程式容易超時,而且浪費寶貴的比賽時間,還很有可能寫錯。stl裡面有個sort函式,可以直接對陣列排序,複雜度為n log2 n 使用這個函式,需要包含標頭檔案。這個函式可以傳兩個引數或...
sort函式用法
標頭檔案 include using namespace std 1.預設的sort函式是按公升序排序。sort a,a n 兩個引數分別為待排序陣列的首位址和尾位址 2.可以自己寫乙個cmp函式,按特定意圖進行排序。例如 1 對陣列a降序排序 int cmp const int a,const i...
Sort函式用法
sort函式為c 中中自帶的重要函式之一,作用是對陣列進行快速排序。用法如下 sort 起始位置,結束位置,判斷函式 一般來說,起始位置直接寫上要排序的陣列就行了,比如我們要排序的陣列是r,需要排序n個數,就寫成sort r,r n 可以不寫判斷函式,預設從小到大排序。需要注意的是sort預設從r ...