Python快速查找list中相同部分的方法

  • Post category:Python

以下是“Python快速查找list中相同部分的方法”的完整攻略。

1. 问题描述

在Python中,有时候需要查找多个List中相同的元素。例如,我们有两个List,分别为list1和list2,它们分别包含了一些元素。现在,我们需要找出这两个List中相同的元素。那么,如何快速查找list中同部分的方法呢?

2. 解决方案

方法1:使用set()函数

在Python中,可以使用set()函数将List转换为集合,然后使用交集运算符&查找两个集合中相同的元素。示例如下:

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

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

common_elements = list(set1 & set2)

print(common_elements)

在上面的示例代码中,我们首先定义了两个List:list1和list2。然后,使用set()函数将list1和list2转换为集合set1和set2。接着,使用交集运算符&查找set1和set2中相同的元素,并将结果转换为List类型。最后,使用print()函数输出common_elements。

我们期望的输出结果是[4, 5],而实际上输出结果也是[4, 5]。

方法2:使用列表推导式

在Python中,可以使用列表推导式查找两个List中相同的元素。示例如下:

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

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

print(common_elements)

在上面的示例代码中,我们首先定义了两个List:list1和list2。然后,使用列表推导式查找list1和list2中相同的元素,并将结果转换为List类型。最后,使用print()函数输出common_elements。

我们期望的输出结果是[4, 5],而实际上输出结果也是[4, 5]。

3. 示例说明

示例1:使用set()函数

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

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

common_elements = list(set1 & set2)

print(common_elements)

在上面的示例代码中,我们首先定义了两个List:list1和list2。然后,使用set()函数将list1和list2转换为集合set1和set2。接着,使用交集运算符&查找set1和set2中相同的元素,并将结果转换为List类型。最后,使用print()函数输出common_elements。

我们期望的输出结果是[4, 5],而实际上输出结果也是[4, 5]。

示例2:使用列表推导式

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

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

print(common_elements)

在上面的示例代码中,我们首先定义了两个List:list1和list2。然后,使用列表推导式查找list1和list2中相同的元素,并将结果转换为List类型。最后,使用print()函数输出common_elements。

我们期望的输出结果是[4, 5],而实际上输出结果也是[4, 5]。

4. 总结

在Python中,可以使用set()函数将List转换为集合,然后使用交集运算符&查找两个集合中相同的元素。也可以使用列表推导式查找两个List中相同的元素。这两种方法都可以快速查找List中相同部分。