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

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

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供樂業(yè)網(wǎng)站建設、樂業(yè)做網(wǎng)站、樂業(yè)網(wǎng)站設計、樂業(yè)網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、樂業(yè)企業(yè)網(wǎng)站模板建站服務,十載樂業(yè)做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。

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

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

定義好該函數(shù)之后,就可以提供給sort方法作為參數(shù)了。內(nèi)建函數(shù)cmp提供了比較函數(shù)的默認實現(xiàn)方式:

對于sort()方法,如果不傳入?yún)?shù),默認cmp為None,即numbers.sort()=number,sort(cmp)=number.sort(cmp=None),我們可以做一個驗證:

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

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

那么我們?nèi)绾巫远x一個比較函數(shù)呢?

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

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

我們還可以直接穿入匿名函數(shù)lambda:

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

以上是“python中sort()方法的cmp參數(shù)是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁標題:python中sort()方法的cmp參數(shù)是什么
當前地址:http://bm7419.com/article36/pcdcsg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計網(wǎng)站改版、外貿(mào)網(wǎng)站建設、云服務器、Google、營銷型網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設