Python 两个列表得到共同元素

Python 两个列表得到共同元素

Python 两个列表得到共同元素

在Python中,我们经常需要从两个列表中找到共同的元素。这在数据处理、算法实现等方面非常常见。本文将介绍几种方法来实现这一目标。

方法一:使用循环遍历

最简单的方法就是使用循环遍历两个列表,然后比较它们的元素。如果找到相同的元素,就将其添加到一个新的列表中。这种方法的时间复杂度为O(n^2),不适用于大型列表。

下面是一个示例代码:

list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]

common_elements = []

for i in list1:
    if i in list2:
        common_elements.append(i)

print(common_elements)

运行结果为:

[3, 4, 5]

方法二:使用集合(set)

集合是一种无序且不重复的数据结构,Python的集合类型可以很方便地进行交集运算。我们可以将两个列表转换为集合,然后使用&操作符来取得它们的交集。

下面是一个示例代码:

list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]

set1 = set(list1)
set2 = set(list2)

common_elements = list(set1 & set2)

print(common_elements)

运行结果为:

[3, 4, 5]

方法三:使用列表推导式

列表推导式是Python中非常强大且精简的特性,我们可以使用列表推导式来快速地找出两个列表的共同元素。

下面是一个示例代码:

list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]

common_elements = [i for i in list1 if i in list2]

print(common_elements)

运行结果为:

[3, 4, 5]

方法四:使用filter()函数

Python的filter()函数可以根据指定的函数过滤出符合条件的元素。我们可以使用filter()函数来找出两个列表的共同元素。

下面是一个示例代码:

list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]

common_elements = list(filter(lambda x: x in list2, list1))

print(common_elements)

运行结果为:

[3, 4, 5]

以上就是几种常见的方法来找出两个列表的共同元素。在处理大量数据时,建议使用集合或者列表推导式来提高效率。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程