繁体   English   中英

比较两个列表中的元素

[英]Comparing elements in two lists

我有两个lists 说一个是[6,4,2,1] ,另一个是[1,3,5,7] 我需要比较各个位置的元素(第一个列表的第一个元素与第二个列表的第一个元素进行比较)。 我需要第三个list ,它可以告诉第一个列表中有多少个元素大于第二个列表中的元素。例如,当比较以上两个列表时,第三个列表应类似于[2] (因为6 > 14 > 3 )。 我怎样才能做到这一点

您可以使用zip(..)和一个generator来做到这一点:

list3 = [sum(x > y for x,y in zip(list1,list2))]

sum(..)对元素求和,由于int(True)1int(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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM