📜  Python|两个列表的交集(1)

📅  最后修改于: 2023-12-03 14:46:25.254000             🧑  作者: Mango

Python | 两个列表的交集

在Python中,我们可以使用set(集合)的交集运算符 & 来获取两个列表的交集。这个操作符很方便,假如我们有两个列表A和B,可以这样写:

A = [1, 3, 5, 7, 9]
B = [1, 2, 3, 4, 5]
C = set(A) & set(B)
print(C)

输出为:

{1, 3, 5}

我们先将列表A和B转换为集合,并使用 & 运算符获取交集。另外,我们可以在一个表达式中以及对多个列表进行交集运算,比如:

A = [1, 2, 3]
B = [2, 3, 4, 5]
C = [3, 4, 6, 7]
D = set(A) & set(B) & set(C)
print(D)

输出为:

{3}

这里D即为A、B和C三个列表的交集。

如果你需要保留重复元素,可以使用Python标准库中的collections.Counter类,例如:

from collections import Counter
A = [1, 2, 3, 4, 4, 5]
B = [2, 2, 4, 6, 8]
C = dict(Counter(A) & Counter(B))
print(C)

输出为:

{2: 1, 4: 1}

这里我们使用Counter将A和B转化为字典,并使用 & 运算符获取两者的交集,最后再将字典转化为C。

总之,使用交集操作符 & 能够轻松的找出多个列表中的共同元素。如果你需要保留重复元素,可以使用collections.Counter类来实现。