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

本是古典 何须时尚 2023-01-24 02:24 86阅读 0赞

求两个列表的差集

  1. >>> a = [1,2,3]
  2. >>> b=[1,2]
  3. >>> ####################################
  4. >>> #两个列表的差集
  5. >>> ret = []
  6. >>> for i in a:
  7. if i not in b:
  8. ret.append(i)
  9. >>> ret
  10. [3]
  11. >>> #两个列表的差集2
  12. >>> ret2 = [ i for i in a if i not in b ]
  13. >>> ret2
  14. [3]
  15. >>> #两个列表的差集3
  16. >>> ret3 = list(set(a) ^ set(b))
  17. >>> ret3
  18. [3]
  19. >>> #两个列表的差集4
  20. >>> ret4=list(set(a).difference(set(b))) # b中有而a中没有的
  21. >>> ret4
  22. [3]

求两个列表的并集

  1. ''' 学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书! '''
  2. >>> #获取两个list 的并集
  3. >>> ret1=list(set(a).union(set(b)))
  4. >>> ret1
  5. [1, 2, 3]
  6. >>> ret1=list(set(a).union(set([4,5,6])))
  7. >>> ret1
  8. [1, 2, 3, 4, 5, 6]
  9. >>> #获取两个list 的并集2
  10. >>> ret2= list(set(a) | set(b))
  11. >>> ret2
  12. [1, 2, 3]
  13. >>> ret2=list(set(a)-set(b))#####差集
  14. >>> ret2
  15. [3]

求两个列表的交集

  1. >>> ##########################################
  2. >>> #获取两个列表的交集
  3. >>> a = [1, 2, 3, 4, 5, 6]
  4. >>> b = [2, 4, 6, 8 ,10]
  5. >>> ret1= [x for x in b if x in set(a)] # list a is the larger list b
  6. >>> ret1
  7. [2, 4, 6]
  8. >>> #获取两个列表的交集2
  9. >>> ret2= list(set(a) & set(b))
  10. >>> ret2
  11. [2, 4, 6]
  12. >>> #获取两个列表的交集3
  13. >>> ret3= list(set(a).intersection(b))
  14. >>> ret3
  15. [2, 4, 6]
  16. >>> #获取两个列表的交集4
  17. >>> ret4 = list((set(a).union(set(b)))^(set(a)^set(b)))
  18. >>> ret4
  19. [2, 4, 6]
  20. >>>

发表评论

表情:
评论列表 (有 0 条评论,86人围观)

还没有评论,来说两句吧...

相关阅读