Python实现两个list求交集,并集,差集的方法示例

  • Post category:Python

Python实现两个list求交集、并集、差集的方法示例

在Python中,可以使用set集合的交集、并集、差集等操作来实现两个list的交集、并集、差集等操作。本文将详细讲解Python中实现两个list求交集、并集、差集的方法示例,包括使用set集合的方法和使用列表推导式的方法。

使用set集合的方法

求交集

使用set集合的intersection()方法可以求两个list的交集。例如:

list1 = [1, 2, 3, 4, 5]
list2 = [4, 5, 6, 7,8]
set1 = set(list1)
set2 = set(list2)
intersection = set1.intersection(set2)
print(intersection)  # 输出交集

求并集

使用set集合的union()方法可以求两个list的并集。例如:

list1 = [1, 2, 3, 4, 5]
list2 = [4, 5, 6, 7, 8]
set1 = set(list1)
set2 = set(list2)
union = set1.union(set2)
print(union)  # 输出并集

求差集

使用set集合的difference()方法可以求两个list的差集。例如:

list1 = [1, 2, 3, 4, 5]
list2 = [4, 5, 6, 7, 8]
set1 = set(list1)
set2 = set(list2)
difference = set1.difference(set2)
print(difference)  # 输出差集

使用列表推导式的方法

求交集

使用列表推导式可以求两个list的交集。例如:

list1 = [1, 2, 3, 4, 5]
list2 = [4, 5, 6, 7, 8]
intersection = [i for i in list1 if i in list2]
print(intersection)  # 输出交集

求并集

使用列表推导式可以求两个list的并集。例如:

list1 = [1, 2, 3, 4, 5]
list2 = [4, 5, 6, 7, 8]
union = list1 + [i for i in list2 if i not in list1]
print(union)  # 输出并集

求差集

使用列表推导式可以求两个list的差集。例如:

list1 = [1, 2, 3, 4, 5]
list2 = [4, 5, 6, 7, 8]
difference = [i for i in list1 if i not in list2]
print(difference)  # 输出差集

示例说明

示例一:使用set集合的方法求交集

list1 = [1, 2, 3, 4, 5]
list2 = [4, 5, 6, 7, 8]
set1 = set(list1)
set2 = set(list2)
intersection = set1.intersection(set2)
print(intersection)  # 输出交集

上述代码演示了如何使用set集合的intersection()方法求两个list的交集。

示例二:使用列表推导式的方法求并集

list1 = [1, 2, 3, 4, 5]
list2 = [4, 5, 6, 7, 8]
union = list1 + [i for i in list2 if i not in list1]
print(union)  # 输出并集

上述代码演示了如何使用列表推导式求两个list的并集。