服务器之家

服务器之家 > 正文

python中比较两个列表的实例方法

时间:2021-07-31 00:19     来源/作者:

cmp() 方法用于比较两个列表的元素。

cmp()方法语法

?
1
cmp(list1, list2)

参数:

list1 -- 比较的列表。list2 -- 比较的列表。

返回值:

如果比较的元素是同类型的,则比较其值,返回结果。

如果两个元素不是同一种类型,则检查它们是否是数字。

如果是数字,执行必要的数字强制类型转换,然后比较。如果有一方的元素是数字,则另一方的元素"大"(数字是"最小的")否则,通过类型名字的字母顺序进行比较。

如果有一个列表首先到达末尾,则另一个长一点的列表"大"。

如果我们用尽了两个列表的元素而且所 有元素都是相等的,那么结果就是个平局,就是说返回一个 0。

以下实例展示了 cmp()函数的使用方法:

?
1
2
3
4
5
6
7
8
9
10
11
#!/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方法:

可用方法有:

表达式减(-)法:

?
1
print((a>b)-(a<b)) #0,表示俩list相等

operator模块比较运算

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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 ,大于等于>=

扩展学习:

两个列表,随机产生4个不相等的数,计算一下,相同位置上的元素相等的个数,用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)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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)

 

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部