比较两个列表中的元素

时间:2017-02-27 09:36:30

标签: python list python-3.x

我有两个lists。假设一个是[6,4,2,1],另一个是[1,3,5,7]。我需要比较各个位置的元素(第一个列表的第一个元素与第二个列表的第一个元素相比)。我需要第三个list,它告诉第一个列表中有多少元素大于第二个列表的元素。例如,当比较上面两个列表时,第三个列表应该像[2](因为6 > 14 > 3)。我怎么能这样做

1 个答案:

答案 0 :(得分:2)

您可以使用zip(..)生成器

执行此操作
list3 = [sum(x > y for x,y in zip(list1,list2))]

sum(..)对元素进行求和,由于int(True)1int(False)0,因此它计算了对x,y的对数其中x > y

您可以使用 list comprehension

来提升性能。

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

但我真的不明白你为什么要构建一个列表,一个简单的整数就足够了。