Python中计算两个列表并集、交集与差集的多种实现方式

方予
方予
发布时间:2026-10-11 | 1人浏览过
原创

本文介绍在Python中计算两个列表并集、交集和差集的多种方法。通过示例代码展示了使用集合运算、列表推导式以及内置方法实现这些操作,帮助开发者高效处理列表数据。

计算两个列表的差集

在Python中,计算两个列表的差集有多种方法。以下示例展示了如何获取列表a中存在但列表b中不存在的元素。

>>> a = [1,2,3]
>>> b=[1,2]
>>> ####################################
>>> #两个列表的差集
>>> ret = []
>>> for i in a:
  if i not in b:
     ret.append(i)
 
>>> ret
[3]
>>> #两个列表的差集2
>>> ret2 = [ i for i in a if i not in b ]
>>> ret2
[3]
>>> #两个列表的差集3
>>> ret3 = list(set(a) ^ set(b))
>>> ret3
[3]
>>> #两个列表的差集4
>>> ret4=list(set(a).difference(set(b))) # b中有而a中没有的
>>> ret4
[3]

计算两个列表的并集

获取两个列表的并集,即包含两个列表中所有不重复元素的集合。以下是几种实现方式:

>>> ########################################
>>> #获取两个list 的并集
>>> ret1=list(set(a).union(set(b)))
>>> ret1
[1, 2, 3]
>>> ret1=list(set(a).union(set([4,5,6])))
>>> ret1
[1, 2, 3, 4, 5, 6]
>>> #获取两个list 的并集2
>>> ret2= list(set(a) | set(b))
>>> ret2
[1, 2, 3]
>>> ret2=list(set(a)-set(b))#####差集
>>> ret2
[3]

计算两个列表的交集

获取两个列表的交集,即同时存在于两个列表中的元素。以下是几种实现方式:

>>> ##########################################
>>> #获取两个列表的交集
>>> a = [1, 2, 3, 4, 5, 6]
>>> b = [2, 4, 6, 8 ,10]
>>> ret1= [x for x in b if x in set(a)]  # list a is the larger list b
>>> ret1
[2, 4, 6]
>>> #获取两个列表的交集2
>>> ret2= list(set(a) & set(b))
>>> ret2
[2, 4, 6]
>>> #获取两个列表的交集3
>>> ret3= list(set(a).intersection(b))
>>> ret3
[2, 4, 6]
>>> #获取两个列表的交集4
>>> ret4 = list((set(a).union(set(b)))^(set(a)^set(b)))
>>> ret4
[2, 4, 6]
>>>

以上就是Python中计算两个列表并集、交集和差集的详细内容,更多关于Python列表操作的技术资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表