如何在两个列表中找到相同位置的项目数?python

时间:2017-08-01 20:48:01

标签: python-3.x

我需要能够检查一个列表中的任何项目是否也在另一个列表中但位于相同位置。我见过别人,但他们回归真假。我需要知道有多少人处于相同的位置。

2 个答案:

答案 0 :(得分:0)

直接比较它们!

这当然假设两个列表的长度相同:

a = [1, 1, 2, 3, 4, 5, 7, 8, 9]
b = [1, 2, 3, 4, 5, 6, 7, 8, 9]
matches = 0

for index in range(len(a)):
    if a[index] == b[index]:
        matches += 1
print mat

Try it here!

答案 1 :(得分:-1)

overlap = set(enumerate(listA)).intersection(set(enumerate(listB))
print(len(overlap))

enumerate将元素与其索引配对,因此您可以检查两个列表之间存在多少公共元素/索引对。

这种方法的一个优点(与自己迭代列表相反)是它会自动处理列表长度不同的情况。

demo