如何在Python里计算交集个数

如何在Python里计算交集个数

作者:Elara发布时间:2026-01-13阅读时长:0 分钟阅读次数:11

用户关注问题

Q
如何使用Python找出两个列表的交集?

我有两个列表,想找出它们共有的元素并计算数量,应该怎么操作?

A

使用集合操作计算交集的元素数量

可以将两个列表转换成集合,然后使用集合的intersection方法获取交集,再通过len函数计算交集的元素数量。例如:

list1 = [1, 2, 3, 4]
list2 = [3, 4, 5, 6]
intersect = set(list1).intersection(set(list2))
count = len(intersect)
print(count)  # 输出结果是2
Q
怎样避免计算交集时出现重复计数?

如果两个列表中有重复元素,如何确保计算交集个数时不重复统计?

A

转为集合去重后计算交集,避免重复计数

列表中元素可能存在重复,直接使用列表的交集方法会计算重复元素。将列表转换成集合后进行交集操作可以去重,确保每个交集元素只计数一次。代码示例如下:

list1 = [1, 2, 2, 3]
list2 = [2, 2, 3, 4]
intersect = set(list1) & set(list2)
print(len(intersect))  # 输出2
Q
如何计算多个集合的交集个数?

如果有多个集合,想计算它们共同包含元素的个数,采用什么方法比较方便?

A

利用set.intersection方法计算多集合交集

Python的集合类型支持调用intersection方法接受多个集合参数,计算它们的共同元素。示例代码如下:

set1 = {1, 2, 3, 4}
set2 = {2, 3, 5}
set3 = {2, 3, 6}
common_elements = set1.intersection(set2, set3)
print(len(common_elements))  # 输出2