溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

python中比較兩個(gè)列表的實(shí)例方法

發(fā)布時(shí)間:2020-10-24 17:11:29 來(lái)源:腳本之家 閱讀:123 作者: 欄目:開(kāi)發(fā)技術(shù)

cmp() 方法用于比較兩個(gè)列表的元素。

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í)例展示了 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)

Python3不在支持cmp方法:

可用方法有:

表達(dá)式減(-)法:

print((a>b)-(a<b))?。#埃硎緜zlist相等

operator模塊比較運(yùn)算

import operator

 

a=[1, 2, 3, 4, 5 ]

b=[1, 2, 3, 4, 5,6 ]

c=[1, 2, 3, 4, 5 ]

print(operator.lt(a,b)) #=> True ,小于<

print(operator.gt(a,b)) #=> False ,大于>

print(operator.eq(a,c)) #=> True ,等于==

print(operator.ne(b,a)) #=> True ,不等于!=

print(operator.le(a,b)) #=> True ,小于等于<=

print(operator.ge(b,a)) #=> True ,大于等于>=

擴(kuò)展學(xué)習(xí):

兩個(gè)列表,隨機(jī)產(chǎn)生4個(gè)不相等的數(shù),計(jì)算一下,相同位置上的元素相等的個(gè)數(shù),用k1表示。

b列表中的元素在a列表中,但位置不相同,有多少個(gè),用k2表示。

例如:

a=[0, 4, 7, 3]
b=[7, 1, 0, 3]

k1= 1 (只有第4個(gè)元素相等,k1=1)
k2= 2(兩個(gè)列表中都有0和7,但位置不同,k2=2)

a=[]
b=[]
while(len(a)!=4):
  x=randint(0,9)
  if x not in a:
    a.append(x)
    
while(len(b)!=4):
  x=randint(0,9)
  if x not in b:
    b.append(x)
    
print(a)
print(b)
print()
k1=k2=0
for i in range(4):
  if a[i]==b[i]:
    k1+=1
  if b[i] in a and b[i]!=a[i]:
    k2+=1
    
print('k1=',k1)
print('k2=',k2)

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI