導航:首頁 > 編程語言 > python中cmp函數

python中cmp函數

發布時間:2022-09-07 02:28:36

A. python3.x運用cmp()函數進行高級排序報錯

numbers.sort這種用法是錯誤的,如果你想要排序,則用如下語句:
num_sort=sorted(numbers,key=None,reverse=False)
新的list num_sort才是一個排序後的列表。然後,你自定義的cmp過程只能對比兩個數字,而能對比列表中的各個元素,python3解釋器不知道你要做什麼,所以才會出錯。

B. python cmp import什麼模塊

cmp是Python2.x自帶的比較函數,無需import模塊。
官方手冊說明:

cmp(x, y)

Compare the two objects x and y and return an integer according to the
outcome. The return value is negative if x < y, zero if x == y and
strictly positive if x > y.

如下所示:

python3.x則取消了這個函數,以下是官方說明:

The cmp() function should be treated as gone, and the __cmp__() special method is no longer supported. Use __lt__() for sorting, __eq__() with __hash__(), and other rich comparisons as needed. (If you really need the cmp() functionality, you could use the expression (a > b) - (a < b) as the equivalent for cmp(a, b).)
大意就是cmp()函數已經「離開」了,如果你真的需要cmp()函數,你可以用表達式(a > b) - (a < b)代替cmp(a,b)

C. Python:s.sort([cmp[, key[, reverse]]])

s.sort([cmp[,key[,reverse]]])

意思是sort方法接受三個參數,都可以省略,默認是升序排序。

第一個參數cmp 是 比較函數,兩個參數(列表的元素)怎樣比較,對於整數這種內置類型的比較,方法很直觀,但是對於自定義類型的比較,就要自己定義比較函數了,函數返回 0 ,就是兩個數相等,返回負數,就是第一個參數小,第一個參數就排在第二個參數後面了。

第二個參數 key 是比較列表元素的什麼屬性。

第三個參數reverse是bool型,意思是是否反轉(倒序排序)

s=[1,2,3,4,5]
s.sort(reverse=True)
prints

#或者直接reverse
s=[1,2,3,4,5]
s.reverse()
prints

#cmp函數,兩個數倒過來比較
s=[1,2,3,4,5]
s.sort(cmp=lambdaa,b:cmp(b,a))
prints

#key,把元素取反來比較
s=[1,2,3,4,5]
s.sort(key=lambdaa:-a)
prints

再做下廣告:

Python學習網站:http://cpython.net

Python在線教程:http://cpython.net/tutorial/

Python Online Judge:http://cpython.net/oj/

D. 在python 3.5中,cmp(a,b)被代替為(a>b)-(a<b),請解釋下(a>b)-(a<b)是什麼意思

原來的cmp函數,cmp(a,b):如果 a < b 返回 -1, 如果 a == b 返回 0, 如果 a > b 返回 1

計算機中判斷結果True用1表示,False用0表示。

我們先不妨設a>b,
那麼a >b=1,a<b=0
那麼(a>b)-(a<b)=0

同理可得到a==b輸出0,a<b輸出-1

E. Python引用compare函數要導入什麼包

cmp是python的內建函數。
cmp(x, y) 用於 compare x 和 y的值。
sort(cmp)只是用於說明,python中函數也是可以作為參數傳入其他函數來進行調用的,排序的依據就是cmp。

F. python編程中cmp()函數是什麼意思

cmp就是一個比較的方法,python3.x已經去掉了這個多餘的東西

G. python3.5中cmp怎麼用

python 3.4.3 的版本中已經沒有cmp函數,被operator模塊代替,在交互模式下使用時,需要導入模塊。
在沒有導入模塊情況下,會出現:
相關推薦:《Python視頻教程》
看下面給的內置函數:
這幾個函數就是用來替換之前的cmp的,之前使用cmp的同胞們,咱們以後就換上面這些函數咯。
先簡單說下這幾個函數的意思吧。
lt(a,b) 相當於 a<b 從第一個數字或字母(ASCII)比大小
le(a,b) 相當於a<=b
eq(a,b) 相當於a==b 字母完全一樣,返回True
ne(a,b) 相當於a!=b
gt(a,b) 相當於a>b
ge(a,b) 相當於 a>=b
函數的返回值是布爾類型。

H. 關於Python中的compare(x,y)

  1. cmp(x,y) 就是compare(x,y)

  2. numbers.sort(cmp),意思是對numbers這個list進行排序,其中排序使用的規則是cmp

I. Python中字典的內建函數用法是什麼

字典內置函數&方法
Python字典包含了以下內置函數:
1 cmp(dict1, dict2)
比較兩個字典元素。
2 len(dict)
計算字典元素個數,即鍵的總數。
3 str(dict)
輸出字典可列印的字元串表示。
4 type(variable)
返回輸入的變數類型,如果變數是字典就返回字典類型。

閱讀全文

與python中cmp函數相關的資料

熱點內容
死循環會在編譯的時候出錯嗎 瀏覽:984
c51單片機特殊寄存器的原理 瀏覽:576
閃耀永恆特利加密鑰 瀏覽:758
如何誇程序員 瀏覽:776
天津期貨python招聘 瀏覽:263
單片機機器語言寫的程序 瀏覽:548
韓國直播軟體app叫什麼名 瀏覽:916
軍營訓練不聽教官的命令 瀏覽:259
v開頭的音樂播放器是什麼APP 瀏覽:117
單片機是怎麼做出來的 瀏覽:315
博圖怎麼作為opc伺服器 瀏覽:100
編譯做題軟體 瀏覽:293
橋梁檢測pdf 瀏覽:685
化解壓力的一種方法 瀏覽:681
路由器和DSN伺服器有什麼區別 瀏覽:549
android伸縮控制項 瀏覽:853
androidm3u8緩存 瀏覽:236
imphp開源知乎 瀏覽:708
清除網路通配符dos命令 瀏覽:839
鴻蒙系統怎麼快速換回安卓 瀏覽:714