如何统计两个数组中的匹配元素数量?
统计两个数组中匹配元素的数量
针对你给出的示例:
x = [1,2,3,4,5] y = [3,4,5,6]
想要得到匹配元素的数量(这里是3),可以用以下几种方法:
方法一:利用集合交集(去重统计)
把两个数组转换成集合,求交集后取长度,这种方法会自动去重,适合只统计不同匹配元素的数量:
x = [1,2,3,4,5] y = [3,4,5,6] match_count = len(set(x) & set(y)) print(match_count) # 输出3
如果数组里有重复元素,比如x = [3,3,4],这种方法只会把3算一次。
方法二:遍历计数(支持重复统计)
如果需要统计所有匹配的次数(包括重复元素),可以遍历其中一个数组,逐个检查元素是否在另一个数组里并计数:
x = [1,2,3,4,5] y = [3,4,5,6] match_count = 0 for num in x: if num in y: match_count += 1 print(match_count) # 输出3
换成列表推导式写法更简洁:
x = [1,2,3,4,5] y = [3,4,5,6] match_count = sum(1 for num in x if num in y) print(match_count)
内容的提问来源于stack exchange,提问作者Alec
相关产品推荐
相关产品推荐

