欢迎访问宙启技术站
智能推送

Python函数实现两个列表的交集和并集操作。

发布时间:2023-10-12 03:26:36

Python函数可以很方便地实现两个列表的交集和并集操作。下面将分别介绍如何实现这两个操作。

1. 列表的交集:

交集操作即找出两个列表中相同的元素。可以使用Python的集合(set)数据类型和集合操作来实现。具体步骤如下:

def intersection_list(list1, list2):
    set1 = set(list1)
    set2 = set(list2)
    intersection = set1.intersection(set2)
    return list(intersection)

首先,将两个列表转化为集合(set)类型,set1 和 set2。然后,使用集合的 intersection 方法求出两个集合的交集,结果保存在 intersection 变量中。最后,将交集结果转化为列表类型并返回。

2. 列表的并集:

并集操作即将两个列表中的元素合并,去除重复的元素。可以通过集合(set)的 union 方法来实现。具体步骤如下:

def union_list(list1, list2):
    set1 = set(list1)
    set2 = set(list2)
    union = set1.union(set2)
    return list(union)

同样地,将两个列表转化为集合(set)类型,set1 和 set2。然后,使用集合的 union 方法求出两个集合的并集,结果保存在 union 变量中。最后,将并集结果转化为列表类型并返回。

这样,我们就可以通过调用上述函数,传入两个需要求交集和并集的列表,获得相应的结果。

下面是一个完整的示例代码:

def intersection_list(list1, list2):
    set1 = set(list1)
    set2 = set(list2)
    intersection = set1.intersection(set2)
    return list(intersection)

def union_list(list1, list2):
    set1 = set(list1)
    set2 = set(list2)
    union = set1.union(set2)
    return list(union)

listA = [1, 2, 3, 4, 5]
listB = [4, 5, 6, 7, 8]

intersection_result = intersection_list(listA, listB)
union_result = union_list(listA, listB)

print("交集:", intersection_result)
print("并集:", union_result)

输出结果为:

交集: [4, 5]
并集: [1, 2, 3, 4, 5, 6, 7, 8]

通过上述示例代码,我们可以看到,使用上述函数很方便地实现了两个列表的交集和并集操作。同时,这种实现方式的时间复杂度为 O(n),因为将列表转化为集合需要遍历所有元素,而求交集和求并集的时间复杂度为 O(1)。因此,这种实现方式在处理大量数据时也能获得较好的性能。