Python求两个列表的差集、交集与并集

た 入场券 2022-05-29 04:19 298阅读 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]
  23. >>> ########################################
  24. >>> #获取两个list 的并集
  25. >>> ret1=list(set(a).union(set(b)))
  26. >>> ret1
  27. [1, 2, 3]
  28. >>> ret1=list(set(a).union(set([4,5,6])))
  29. >>> ret1
  30. [1, 2, 3, 4, 5, 6]
  31. >>> #获取两个list 的并集2
  32. >>> ret2= list(set(a) | set(b))
  33. >>> ret2
  34. [1, 2, 3]
  35. >>> ret2=list(set(a)-set(b))#####差集
  36. >>> ret2
  37. [3]
  38. >>> ##########################################
  39. >>> #获取两个列表的交集
  40. >>> a = [1, 2, 3, 4, 5, 6]
  41. >>> b = [2, 4, 6, 8 ,10]
  42. >>> ret1= [x for x in b if x in set(a)] # list a is the larger list b
  43. >>> ret1
  44. [2, 4, 6]
  45. >>> #获取两个列表的交集2
  46. >>> ret2= list(set(a) & set(b))
  47. >>> ret2
  48. [2, 4, 6]
  49. >>> #获取两个列表的交集3
  50. >>> ret3= list(set(a).intersection(b))
  51. >>> ret3
  52. [2, 4, 6]
  53. >>> #获取两个列表的交集4
  54. >>> ret4 = list((set(a).union(set(b)))^(set(a)^set(b)))
  55. >>> ret4
  56. [2, 4, 6]
  57. >>>

发表评论

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

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

相关阅读