簡體   English   中英

如何在Python中完全相同的位置找到相同的元素?

[英]How to find same elements in exact same positions in Python?

我試圖在 python 的 2 個列表中的相同位置找到相同的元素。 我試過在互聯網上搜索,但仍然沒有找到任何東西。 a = [1,2,3,4,5] b = [10,2,4,3,5]例如,這里的 2 和 5 是兩個列表中相同位置的相同元素。

有沒有辦法在python中編寫這個函數的腳本?

你可以試試zip

a = [1,2,3,4,5]
b = [10,2,4,3,5]

list(filter(lambda e: e[0]==e[1], zip(a,b))) #[(2, 2), (5, 5)]

使用列表理解和zip您可以簡單地檢查兩個元素是否相等。

a = [1,2,3,4,5]
b = [10,2,4,3,5]

print([x for x, y in zip(a, b) if x==y])

輸出:

[2, 5]

您可以使用二進制異或:

a = [1, 2, 3, 4, 5]
b = [10, 2, 4, 3, 5]

print([i for i, j in zip(a, b) if i ^ j == 0])

您可以使用列表理解為等式創建布爾值列表。

>>> a = [1,2,3,4,5]; b = [10,2,4,3,5]
>>> [i==j for i,j in zip(a,b)]

[False, True, False, False, True]

如果你想要價值觀,而不是真實的價值,你可以擁有理解的價值。

>>>[i for i,j in zip(a,b) if i==j]
[2, 5]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM