Python中计算两个列表并集、交集与差集的多种实现方式
本文介绍在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列表操作的技术资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









