python求列表交集的方法汇总

  • Post category:Python

Python求列表交集的方法汇总

在Python中,列表(List)是一种常用的数据类型,它可以存储多个元素,并且这些元素可以是同一种或不同的类型。本文将详细讲解Python中求列表交集的方法,包括使用set()函数、使用列表推导式、使用filter()函数等方法,同时提供多示例说明。

求列表交集

方法一:使用set()函数

在Python中,可以使用set()函数将列表转换为集合(Set),然后使用&运算符求两个集合的交集。例如:

# 使用set()函数求列表交集
list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]
set1 = set(list1)
set2 = set(list2)
intersection = set1 & set2
print(list(intersection))  # 输出 [3, 4, 5]

上述代码使用set()函数将列表list1list2转换为集合set1set2,然后使用&运算符求两个集合的交集,并将结果转换为列表输出。

方法二:使用列表推导式

在Python中,可以使用列表推导式来求两个列表的交集。例如:

# 使用列表推导式求列表交集
list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]
intersection = [x for x in list1 if x in list2]
print(intersection)  # 输出 [3, 4, 5]

上述代码使用列表推导式求列表list1list2的交集,并将结果输出。

方法三:filter()函数

在Python中,可以使用filter()函数和lambda表达式来求两个列表的交集。例如:

# 使用filter()函数求列表交集
list1 = [1, 2, 3, 4, 5]
list2 = [3, 4 5, 6, 7]
intersection = list(filter(lambda x: x in list1 list2))
print(intersection)  # 输出 [3, 4, 5]

上述代码使用filter()函数和lambda表达式求列表list1和list2`的交集,并将结果输出。

示例一:使用set()函数求多个列表的交集

#set()函数求多个列表的交集
list1 = [1, 2, 3, 4, 5]
list2 = [3, 4, 5, 6, 7]
list3 = [5, 6, 7,8, 9]
set1 = set(list1)
set2 = set(list)
set3 = set(list3)
intersection = set1 & set2 & set3
print(list(intersection))  # 输出 [5]

上述代码使用set()函数求多个列表list1list2list3的交集,并将结果输出。

示例二使用列表推导式求两个列表的交集

# 使用列表推导式求两个列表的交集
list1 = ['apple', 'banana', 'orange', 'pear']
list2 = ['banana', 'pear', 'grape', 'watermelonintersection = [x for x in list1 if x in list2]
print(intersection)  # 输出 ['banana', 'pear']

上述代码使用列表推导式求列表list1list2的交集,并将结果输出。

以上是Python中求列表交集的方法汇总的详细讲解和示例说明。希望对您有帮助。