python中比较两个列表的实例方法
Python  /  管理员 发布于 7年前   139
cmp() 方法用于比较两个列表的元素。
cmp()方法语法:
cmp(list1, list2)
参数:
list1 -- 比较的列表。list2 -- 比较的列表。
返回值:
如果比较的元素是同类型的,则比较其值,返回结果。
如果两个元素不是同一种类型,则检查它们是否是数字。
如果是数字,执行必要的数字强制类型转换,然后比较。如果有一方的元素是数字,则另一方的元素"大"(数字是"最小的")否则,通过类型名字的字母顺序进行比较。
如果有一个列表首先到达末尾,则另一个长一点的列表"大"。
如果我们用尽了两个列表的元素而且所 有元素都是相等的,那么结果就是个平局,就是说返回一个 0。
以下实例展示了 cmp()函数的使用方法:
#!/usr/bin/pythonlist1, 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)) #0,表示俩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 ,大于等于>=
扩展学习:
两个列表,随机产生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)
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=0for 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)
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号