Python List cmp()知識(shí)點(diǎn)總結(jié)
描述
cmp() 方法用于比較兩個(gè)列表的元素。
語(yǔ)法
cmp()方法語(yǔ)法:
cmp(list1, list2)
參數(shù)
list1 -- 比較的列表。
list2 -- 比較的列表。
返回值
如果比較的元素是同類(lèi)型的,則比較其值,返回結(jié)果。
如果兩個(gè)元素不是同一種類(lèi)型,則檢查它們是否是數(shù)字。
- 如果是數(shù)字,執(zhí)行必要的數(shù)字強(qiáng)制類(lèi)型轉(zhuǎn)換,然后比較。
- 如果有一方的元素是數(shù)字,則另一方的元素"大"(數(shù)字是"最小的")
- 否則,通過(guò)類(lèi)型名字的字母順序進(jìn)行比較。
如果有一個(gè)列表首先到達(dá)末尾,則另一個(gè)長(zhǎng)一點(diǎn)的列表"大"。
如果我們用盡了兩個(gè)列表的元素而且所 有元素都是相等的,那么結(jié)果就是個(gè)平局,就是說(shuō)返回一個(gè) 0。
實(shí)例
以下實(shí)例展示了 cmp()函數(shù)的使用方法:
#!/usr/bin/python list1, list2 = [123, 'xyz'], [456, 'abc'] print cmp(list1, list2); print cmp(list2, list1); list3 = list2 + [786]; print cmp(list2, list3)
以上實(shí)例輸出結(jié)果如下:
-1
1
-1
Python 3.X 的版本中已經(jīng)沒(méi)有 cmp 函數(shù),如果你需要實(shí)現(xiàn)比較功能,需要引入 operator 模塊,適合任何對(duì)象,包含的方法有:
operator.lt(a, b) operator.le(a, b) operator.eq(a, b) operator.ne(a, b) operator.ge(a, b) operator.gt(a, b) operator.__lt__(a, b) operator.__le__(a, b) operator.__eq__(a, b) operator.__ne__(a, b) operator.__ge__(a, b) operator.__gt__(a, b)
實(shí)例
>>> import operator
>>> operator.eq('hello', 'name');
False
>>> operator.eq('hello', 'hello');
True
3.0 版本開(kāi)始沒(méi)這個(gè)函數(shù)了,官方文檔是這么寫(xiě)的:
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).)
相關(guān)文章
詳解Python中數(shù)據(jù)類(lèi)型的轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了Python中數(shù)據(jù)類(lèi)型轉(zhuǎn)換的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以了解一下2023-03-03
Python實(shí)現(xiàn)加密接口測(cè)試方法步驟詳解
這篇文章主要介紹了Python實(shí)現(xiàn)加密接口測(cè)試方法步驟詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
python Pandas高級(jí)功能之?dāng)?shù)據(jù)透視表和字符串操作
Pandas是Python中用于數(shù)據(jù)處理和分析的強(qiáng)大庫(kù),這篇文章將深入探討Pandas庫(kù)的高級(jí)功能:數(shù)據(jù)透視表和字符串操作,需要的朋友可以參考下2023-07-07
Python中shutil模塊的學(xué)習(xí)筆記教程
shutil模塊是一種高層次的文件操作工具,類(lèi)似于高級(jí)API,主要強(qiáng)大之處在于其對(duì)文件的復(fù)制與刪除操作更是比較支持好。下面這篇文章主要介紹了Python中shutil模塊的相關(guān)教程,需要的朋友可以參考學(xué)習(xí),下面來(lái)一起看看吧。2017-04-04
Python調(diào)用C++,通過(guò)Pybind11制作Python接口
今天小編就為大家分享一篇關(guān)于Python調(diào)用C++,通過(guò)Pybind11制作Python接口,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10
Python for循環(huán)通過(guò)序列索引迭代過(guò)程解析
這篇文章主要介紹了Python for循環(huán)通過(guò)序列索引迭代過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
Python pyautogui模塊實(shí)現(xiàn)鼠標(biāo)鍵盤(pán)自動(dòng)化方法詳解
這篇文章主要介紹了Python pyautogui 模塊實(shí)現(xiàn)鼠標(biāo)鍵盤(pán)自動(dòng)化方法詳解,需要的朋友可以參考下2020-02-02
利用python實(shí)現(xiàn)在微信群刷屏的方法
今天小編就為大家分享一篇利用python實(shí)現(xiàn)在微信群刷屏的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02

