2017-02-19 33 views
-2

我有2個列表,我想將每個項目與相關索引匹配。公式是什麼?我已經使用了set,​​但沒有考慮具體的索引。在兩個列表的相應索引處具有相同值的過濾器元素

list1 = [1 , 2 , 3, 5, 8] 
list2 = [2 , 2 , 8, 5, 1] 

out_put= [2 , 5] 
+1

@JimFasarakisHilliard我不認爲這是因爲這個問題與同一索引的兩個列表之間的共同元素有關(不同於找到兩個列表的交集)。我沒有重新開放這個問題,以防萬一我錯過了任何東西,並且你可能會澄清我 –

+0

@MoinuddinQuadri你給出的答案('[i for i,j in zip(list1,list2)if i == j]')幾乎和從愚蠢回答('[i for i,j in zip(a,b)if i == j]')中的代碼一樣。所以我認爲這是一個準確的欺騙目標。 – JGreenwell

+0

@JGreenwell是的。我看到了。我不確定爲什麼有人在這個問題中寫下這個答案:/因爲那個答案在那裏又是無關緊要的。 –

回答

4

您可以使用zip的各項指標均列爲在過濾相同的元素:使用zip功能

>>> list1 = [1 , 2 , 3, 5, 8] 
>>> list2 = [2 , 2 , 8, 5, 1] 
>>> [i for i, j in zip(list1, list2) if i==j] 
[2, 5] 
+0

哦,小子,你在20秒內擊敗了我。 – Arman

+0

@阿曼神啊,你們都快...不能眨眼睛,已經回答了... –

1

res = [x[0] for x in zip(list1, list2) if x[0] == x[1]] # [2, 5] 
相關問題