python之自定義排序函式sorted

2022-05-23 15:30:13 字數 859 閱讀 4229

sorted()也是乙個高階函式,它可以接收乙個比較函式來實現自定義排序,比較函式的定義是,傳入兩個待比較的元素 x, y,如果 x 應該排在 y 的前面,返回 -1,如果 x 應該排在 y 的後面,返回 1。如果 x 和 y 相等,返回 0

def

custom_sort(x,y):

if x>y:

return -1

if x

return 1

return

0print sorted([2,4,5,7,3],custom_sort)

在python3以後,sort方法和sorted函式中的cmp引數被取消,此時如果還需要使用自定義的比較函式,那麼可以使用cmp_to_key函式。將老式的比較函式(comparison function)轉化為關鍵字函式(key function)。與接受key function的工具一同使用(如 sorted(), min(), max(), heapq.nlargest(), itertools.groupby())。該函式主要用來將程式轉成 python 3 格式的,因為 python 3 中不支援比較函式。

python 自定義排序函式

自定義排序函式 python內建的 sorted 函式可對list進行排序 sorted 36,5,12,9,21 5,9,12,21,36 但 sorted 也是乙個高階函式,它可以接收乙個比較函式來實現自定義排序,比較函式的定義是,傳入兩個待比較的元素 x,y,如果 x 應該排在 y 的前面,返...

python中自定義排序函式

python內建的 sorted 函式可對list進行排序 sorted 36,5,12,9,21 5,9,12,21,36 但 sorted 也是乙個高階函式,它可以接收乙個比較函式來實現自定義排序,比較函式的定義是,傳入兩個待比較的元素 x,y,如果 x 應該排在 y 的前面,返回 1,如果 x...

自定義函式 Excel之自定義函式

在excel中,當系統函式不能滿足我們的需求時候,我們可以使用vba自定義函式,如抓取網頁資料,翻譯詞彙,手機號歸屬地查詢等。下面將介紹2個自定義函式,idymd函式 身份證年月日性別 通過身份證號,返回性別,出生年月日。語法 idymd id 引數 id,身份證號,預設身份證長度18位。vba 如...