我有两个lists
。假设一个是[6,4,2,1]
,另一个是[1,3,5,7]
。我需要比较各个位置的元素(第一个列表的第一个元素与第二个列表的第一个元素相比)。我需要第三个list
,它告诉第一个列表中有多少元素大于第二个列表的元素。例如,当比较上面两个列表时,第三个列表应该像[2]
(因为6 > 1
和4 > 3
)。我怎么能这样做
答案 0 :(得分:2)
您可以使用zip(..)
和生成器:
list3 = [sum(x > y for x,y in zip(list1,list2))]
sum(..)
对元素进行求和,由于int(True)
为1
且int(False)
为0
,因此它计算了对x,y
的对数其中x > y
。
您可以使用 list comprehension
来提升性能。list3 = [sum([x > y for x,y in zip(list1,list2)])]
但我真的不明白你为什么要构建一个列表,一个简单的整数就足够了。