首页 > 解决方案 > 如何获取 Python 中两个列表之间相同匹配项的数量?

问题描述

如何提取两个列表之间相同元素的数量?我搜索的大多数答案通常与使用集合操作查找常见元素有关,但我正在寻找这样的东西:

list1 = [1, 2, 3, 4, 5, 6, 7, 8]
list2 = [1, 2, 3, 0, 0, 0, 0, 0]

元素1,23是相同的,所以我们返回3

我知道我可以简单地创建一个循环并增加一个计数器,但我想知道是否有任何更简洁或更有效的方法。提前致谢。

标签: python

解决方案


这对我有用:

>>> list1 = [1, 2, 3, 4, 5, 6, 7, 8]
>>> list2 = [1, 2, 3, 0, 0, 0, 0, 0]
>>> sum( 1 for a,b in zip(list1,list2) if a == b )
3

而不是sum()你可以使用len()-- 相同的结果。


推荐阅读