python - 如何获取 Python 中两个列表之间相同匹配项的数量?
问题描述
如何提取两个列表之间相同元素的数量?我搜索的大多数答案通常与使用集合操作查找常见元素有关,但我正在寻找这样的东西:
list1 = [1, 2, 3, 4, 5, 6, 7, 8]
list2 = [1, 2, 3, 0, 0, 0, 0, 0]
元素1
,2
和3
是相同的,所以我们返回3
。
我知道我可以简单地创建一个循环并增加一个计数器,但我想知道是否有任何更简洁或更有效的方法。提前致谢。
解决方案
这对我有用:
>>> 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()
-- 相同的结果。
推荐阅读
- node.js - 如何在nodejs中进行聚合
- apache-spark - 在 Spark 中从 HDFS 或 S3 读取边缘数据库文件
- c - 对两个数组中的词频进行排序
- javascript - 保存在对象中时文件对象转换为假路径
- android - 成功设计房间数据库模式后,如何在网络响应中获取属于另一条记录的记录列表
- python - 如何在函数中使用多个输入并附加结果?
- pyspark - Pyspark:根据列过滤 DF,然后通过函数运行每个子集 DF
- perl - CGI Perl 在字符串中使用未初始化的值 $user
- angular - “p-menu”不是已知元素
- salesforce - 在 Salesforce 中显示大文本