簡體   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