阅读量:2
Python中两个列表取交集的方法有几种,以下是常见的几种方法:
- 使用set()函数:将两个列表转换为集合,然后使用交集操作符
&
获取交集元素,最后将结果转换回列表。
list1 = [1, 2, 3, 4, 5] list2 = [4, 5, 6, 7, 8] intersection = list(set(list1) & set(list2)) print(intersection) # 输出:[4, 5]
- 使用列表推导式:遍历一个列表,判断该元素是否同时存在于另一个列表中,如果是则保留该元素。
list1 = [1, 2, 3, 4, 5] list2 = [4, 5, 6, 7, 8] intersection = [x for x in list1 if x in list2] print(intersection) # 输出:[4, 5]
- 使用内置函数filter():使用filter()函数筛选出同时存在于两个列表中的元素,然后将结果转换为列表。
list1 = [1, 2, 3, 4, 5] list2 = [4, 5, 6, 7, 8] intersection = list(filter(lambda x: x in list2, list1)) print(intersection) # 输出:[4, 5]
这些方法都可以实现两个列表的交集操作,选择哪种方法取决于个人的偏好和具体的需求。