創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
目前創(chuàng)新互聯(lián)建站已為近千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計、貢井網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。這篇文章給大家分享的是有關(guān)Python中cmp()函數(shù)有什么用的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
Python中的cmp()函數(shù)用于比較兩個對象的大小。
cmp( x, y):比較2個對象,前者小于后者返回-1,相等則返回0,大于后者返回1.
Python的cmp比較函數(shù)比較原理
Python的cmp函數(shù)可以比較同類型之間,或者不同數(shù)據(jù)類型之間。然后根據(jù)Python的cmp比較函數(shù)的返回值來判定比較大小。
>>> list1, list2 = [123, 'xyz'], [456, 'abc'] >>> cmp(list1, list2) -1 >>> cmp(list2, list1) 1 >>> list3 = list2 + [789] >>> list3 [456, 'abc', 789] >>> cmp(list2, list3) -1
觀察上面cmp函數(shù)的幾個比較,可以總結(jié):
Python的cmp比較函數(shù) ,如果我們比較的是兩個同類的對象,比較操作是非常直觀的。
數(shù)字和字符串的比較,直接比較它們的值。
對于序列類型的比較,方式上有相似。Python在兩個對象基本不能比較的時候盡量做出公平的結(jié)果。比如當(dāng)兩個對象沒有關(guān)系時,或者兩種類型根本就沒有用于比較的函數(shù)時,這時 Python只能根據(jù)"邏輯"來做出結(jié)論。比較的算法邏輯:
1. 對兩個列表的元素進(jìn)行比較.
2. 如果比較的元素是同類型的,則比較其值,返回結(jié)果.
3. 如果兩個元素不是同一種類型,則檢查它們是否是數(shù)字.
a. 如果是數(shù)字,執(zhí)行必要的數(shù)字強制類型轉(zhuǎn)換,然后比較.
b. 如果有一方的元素是數(shù)字,則另一方的元素"大"(數(shù)字是"最小的")
c. 否則,通過類型名字的字母順序進(jìn)行比較.
4. 如果有一個列表首先到達(dá)末尾,則另一個長一點的列表"大".
5. 如果我們用盡了兩個列表的元素而且所有元素都是相等的,那么結(jié)果就是個平局,就
是說返回一個 0.
這就是Python的cmp函數(shù)比較原理了。
注意:
Python 3.X 的版本中已經(jīng)沒有 cmp 函數(shù),如果你需要實現(xiàn)比較功能,需要引入 operator 模塊,適合任何對象。
感謝各位的閱讀!關(guān)于Python中cmp()函數(shù)有什么用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
網(wǎng)站題目:Python中cmp()函數(shù)有什么用-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://aaarwkj.com/article44/dddcee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、微信公眾號、App設(shè)計、網(wǎng)站制作、做網(wǎng)站、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容