def intersect(list1, list2):
"""
返回两个列表的交集。
参数:
list1: List,第一个列表。
list2: List,第二个列表。
返回值:
List,包含两个列表的交集的列表。
"""
set1 = set(list1)
set2 = set(list2)
return list(set1.intersection(set2))
解析:
首先,我们将第一个列表转换为一个集合,这可以用来快速地判断一个元素是否在这个列表中出现过。
然后,我们将第二个列表也转换为一个集合。
接下来,我们使用集合的 intersection() 方法来获得两个集合的交集。
最后,我们将交集转换回一个列表,并将其返回。
这个函数的时间复杂度为 $O(m+n)$,其中 $m$ 和 $n$ 分别是两个列表的长度,因为我们需要将两个列表转换为集合,并计算它们的交集。