python中比較兩個列表的實例方法
cmp() 方法用于比較兩個列表的元素。
cmp()方法語法:
cmp(list1, list2)
參數(shù):
list1 -- 比較的列表。list2 -- 比較的列表。
返回值:
如果比較的元素是同類型的,則比較其值,返回結(jié)果。
如果兩個元素不是同一種類型,則檢查它們是否是數(shù)字。
如果是數(shù)字,執(zhí)行必要的數(shù)字強制類型轉(zhuǎn)換,然后比較。如果有一方的元素是數(shù)字,則另一方的元素"大"(數(shù)字是"最小的")否則,通過類型名字的字母順序進行比較。
如果有一個列表首先到達末尾,則另一個長一點的列表"大"。
如果我們用盡了兩個列表的元素而且所 有元素都是相等的,那么結(jié)果就是個平局,就是說返回一個 0。
以下實例展示了 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方法:
可用方法有:
表達式減(-)法:
print((a>b)-(a<b))?。#?,表示倆list相等
operator模塊比較運算:
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 ,大于等于>=
擴展學習:
兩個列表,隨機產(chǎn)生4個不相等的數(shù),計算一下,相同位置上的元素相等的個數(shù),用k1表示。
b列表中的元素在a列表中,但位置不相同,有多少個,用k2表示。
例如:
a=[0, 4, 7, 3]
b=[7, 1, 0, 3]
k1= 1 (只有第4個元素相等,k1=1)
k2= 2(兩個列表中都有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)
相關文章
django 多數(shù)據(jù)庫及分庫實現(xiàn)方式
這篇文章主要介紹了django 多數(shù)據(jù)庫及分庫實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
python?使用第三方庫requests-toolbelt?上傳文件流的示例
這篇文章主要介紹了python?使用第三方庫requests-toolbelt?上傳文件流,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09
徹底解決No?module?named?‘torch_geometric‘報錯的辦法
這篇文章主要給大家介紹了關于如何徹底解決No?module?named?‘torch_geometric‘報錯的辦法,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2022-03-03
Python爬蟲實戰(zhàn):分析《戰(zhàn)狼2》豆瓣影評
這篇文章主要介紹了Python爬蟲實戰(zhàn):《戰(zhàn)狼2》豆瓣影評分析,小編在這里使用的是python版本3.5,需要的朋友可以參考下2018-03-03

