当前位置:  首页>> 技术小册>> Python面试指南

  1. def intersect(list1, list2):
  2. """
  3. 返回两个列表的交集。
  4. 参数:
  5. list1: List,第一个列表。
  6. list2: List,第二个列表。
  7. 返回值:
  8. List,包含两个列表的交集的列表。
  9. """
  10. set1 = set(list1)
  11. set2 = set(list2)
  12. return list(set1.intersection(set2))

解析:

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


该分类下的相关小册推荐: