Python 程序查找两个列表的交集

2025年3月17日 | 阅读 3 分钟

在本教程中,我们将讨论如何获取两个列表的交集。两个列表的交集意味着我们需要获取两个初始列表中所有共有的元素。

Python 以其出色的内置数据结构而闻名。 Python 列表是 Python 中一种著名且有价值的内置数据类型。它可以按排序顺序存储各种数据类型的值。但是,对于像集合(set)这样的列表,没有内置函数。

Python 提供了多种方法来执行列表的交集。让我们看下面的场景。

输入

输出

[90, 11, 58, 31, 66, 28, 54]

输入

输出

[9, 11, 26, 28]

让我们看看以下获取列表交集的方法。

方法 - 1:使用 for 循环

输出

[90, 11, 58, 31, 66, 28, 54]

我们使用 for 循环从两个列表中获取公共值,并将其存储在 list3 变量中。

方法 - 2:将列表转换为集合

输出

[66, 90, 11, 54, 58, 28, 31]

方法 - 3

我们将使用内置的集合(set)的 intersection() 方法。 intersection() 是集合的一个一级部分。让我们理解下面的例子。

示例 -

输出

{66, 90, 11, 54, 58, 28, 31}

方法 - 4

在此方法中,我们将使用混合方法。这是执行任务的更有效的方法。让我们理解下面的例子。

示例 -

输出

[90, 11, 58, 31, 66, 28, 54]

方法 - 5

在此方法中,我们将使用 filter() 方法。交集是在列表内部的子列表上执行的。让我们理解下面的例子。

示例 -

输出

[[17, 23, 40], [10], [60]]

filter() 方法会检查子列表的每个项是否都存在于 list1 中。列表推导式为 list2 中的每个子列表执行。