中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

python中sort()方法的cmp參數是什么

發布時間:2022-03-05 11:12:55 來源:億速云 閱讀:363 作者:小新 欄目:web開發

小編給大家分享一下python中sort()方法的cmp參數是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

“如果希望元素能按照特定的方式進行排序(而不是sort函數默認的方式,即根據python的默認排序規則按升序排列元素),那么可以通過compare(x,y)的形式自定義比較函數。

compare(x,y)函數會在x<y時返回負數,在x>y時返回正數,如果x=y則返回0(根據你的定義)。

定義好該函數之后,就可以提供給sort方法作為參數了。內建函數cmp提供了比較函數的默認實現方式:

對于sort()方法,如果不傳入參數,默認cmp為None,即numbers.sort()=number,sort(cmp)=number.sort(cmp=None),我們可以做一個驗證:

如果傳入參數,numbers.sort(cmp=1),我們可以驗證一下,整型的參數可不可以:

代碼報錯:int對象不是一個callable,可調用對象。callable(object) 方法用來檢測對象是否可被調用,即是否是一個函數,如果是則調用該函數的值,賦值給cmp。

那么我們如何自定義一個比較函數呢?

其中的規律就是:兩兩比較,如果返回為正,則交換兩者的位置,即y在前x在后,否則x在前y在后。也可以這樣解釋,升序就是拿第一個數比對后面的數,降序就是拿最后一個數比對前面的數。

當然,也可以寫作numbers.sort(mycmp1),省略cmp。

我們還可以直接穿入匿名函數lambda:

另外,python3.x中取消了cmp參數,也不支持直接往sort()里面傳函數,但可以構造排序函數傳遞給key來實現。

以上是“python中sort()方法的cmp參數是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阜阳市| 华亭县| 增城市| 峨山| 泾阳县| 甘南县| 金华市| 白银市| 淮阳县| 章丘市| 鹤山市| 衡南县| 沂源县| 霍邱县| 交城县| 清河县| 闸北区| 陈巴尔虎旗| 紫金县| 周宁县| 苏尼特左旗| 闻喜县| 普格县| 衢州市| 达孜县| 连江县| 宽甸| 上思县| 河曲县| 巴青县| 卢湾区| 叙永县| 成安县| 偃师市| 安宁市| 平遥县| 沁源县| 徐汇区| 万载县| 武城县| 通河县|