python求两个列表的并集.交集.差集

求两个列表的差集

>>> 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]
>>>

posted @   xushukui  阅读(953)  评论(1编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示