python 高階函式sorted

2021-07-31 07:04:05 字數 913 閱讀 8240

這裡說一下,python中的高階函式,就是可以自定義的函式作為引數傳入函式中。

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

因此,如果我們要實現倒序排序,只需要編寫乙個reversed_cmp函式:

def

reversed_cmp

(x, y):

if x > y:

return -1

if x < y:

return

1return

0sorted([36, 5, 12, 9, 21], reversed_cmp)

sorted(['bob', 'about', 'zoo', 'credit'])//也可以對字串排序

結果:

[36, 21, 12, 9, 5]

[『credit』, 『zoo』, 『about』, 『bob』]

下面是乙個忽略大小寫的字串排序**

def

cmp_ignore_case

(s1, s2):

u1=s1.lower()

u2=s2.lower()

# return u1 < u2

if u1 < u2:

return -1

if u1 > u2:

return

1return

0print sorted(['bob', 'about', 'zoo', 'credit'], cmp_ignore_case)

結果:[『about』, 『bob』, 『credit』, 『zoo』]

Python 函式式程式設計 高階函式 sorted

排序也是在程式中經常用到的演算法。無論使用氣泡排序還是快速排序,排序的核心是比較兩個元素的大小。如果是數字,我們可以直接比較,但如果是字串或者兩個dict呢?直接比較數學上的大小是沒有意義的,因此,比較的過程必須通過函式抽象出來。print sorted 36,5,21,12,9,21 d anni...

python六十三課 高階函式之sorted

演示sorted函式的使用,以及和sort的區別 我們將sorted和sort進行一番比較 相同點 它們都是來實現排序的操作 功能層面 不同點 列表中的sort函式,它執行完畢後會直接影響原本這個list的內部結構 內部的資料發生改變了 而內建函式sorted函式,它執行完畢後不會影響原本容器中的內...

python 函式高階 python 函式高階

形參角度 萬能引數 動態接收位置引數 args 動態接收關鍵字引數 kwargs 的魔性用法 函式定義時 代表聚合。他將所有的位置引數 聚合成乙個元組,賦值給了args 函式定義時 將所有的關鍵字引數聚合成乙個字典中,將這個字典賦給了 kwargs 和 在函式的呼叫時 代表打散 僅限關鍵字引數 de...