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()
函数将列表list1
和list2
转换为集合set1
和set2
,然后使用&
运算符求两个集合的交集,并将结果转换为列表输出。
方法二:使用列表推导式
在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]
上述代码使用列表推导式求列表list1
和list2
的交集,并将结果输出。
方法三: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()
函数求多个列表list1
、list2
和list3
的交集,并将结果输出。
示例二使用列表推导式求两个列表的交集
# 使用列表推导式求两个列表的交集
list1 = ['apple', 'banana', 'orange', 'pear']
list2 = ['banana', 'pear', 'grape', 'watermelonintersection = [x for x in list1 if x in list2]
print(intersection) # 输出 ['banana', 'pear']
上述代码使用列表推导式求列表list1
和list2
的交集,并将结果输出。
以上是Python中求列表交集的方法汇总的详细讲解和示例说明。希望对您有帮助。