[英]Comparing elements in two lists
我有两个lists
。 说一个是[6,4,2,1]
,另一个是[1,3,5,7]
。 我需要比较各个位置的元素(第一个列表的第一个元素与第二个列表的第一个元素进行比较)。 我需要第三个list
,它可以告诉第一个列表中有多少个元素大于第二个列表中的元素。例如,当比较以上两个列表时,第三个列表应类似于[2]
(因为6 > 1
和4 > 3
)。 我怎样才能做到这一点
您可以使用zip(..)
和一个generator来做到这一点:
list3 = [sum(x > y for x,y in zip(list1,list2))]
sum(..)
对元素求和,由于int(True)
为1
且int(False)
为0
,因此它计算对x,y
的对x,y
其中x > y
。
您可以通过使用列表理解来提高性能:
list3 = [sum([x > y for x,y in zip(list1,list2)])]
但是我真的不明白为什么要构造一个列表,一个简单的整数就足够了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.