python之set并集、交集、差集、返回两个集合不同的元素

交集

交集:把 两个(或多个)集合中 相同 的元素 组成一个新集合

例子:

集合a:{1, 2, 3, 4, 5}
集合b:{4, 5, 6, 7, 8}
a和b的交集:{4, 5}

intersection()方法

a = set([1, 2, 3, 4, 5])
b = set([4, 5, 6, 7, 8])
c=a.intersection(b)
print(a)
print(b)
print(c)

结果如下:

{1, 2, 3, 4, 5}
{4, 5, 6, 7, 8}
{4, 5}
总结:
  1. a和b集合不会改变
  2. 返回新集合,新集合是a和b的交集

符号&

a = set([1, 2, 3, 4, 5])
b = set([4, 5, 6, 7, 8])
c=a & b
print(a)
print(b)
print(c)

结果如下:

{1, 2, 3, 4, 5}
{4, 5, 6, 7, 8}
{4, 5}
总结:
  1. a和b集合不会改变
  2. 返回新集合,新集合是a和b的交集

多个集合的交集

a = set([0,1,2,3,4])
b = set([0,2,6])
c = set([-1,2,5,8])
r = a.intersection(b,c) # a、b、c同时拥有的元素
print(r)

结果如下:

{2}

并集

并集:把 两个(或多个)集合 所有的元素合并在一起组成的集合

例子:

集合a:{1, 2, 3, 4, 5}
集合b:{4, 5, 6, 7, 8}
a和b的并集:{1, 2, 3, 4, 5, 6, 7, 8}

union()

a = set([1, 2, 3, 4, 5])
b = set([4, 5, 6, 7, 8])
c=a.union(b)
print(a)
print(b)
print(c)

结果如下:

{1, 2, 3, 4, 5}
{4, 5, 6, 7, 8}
{1, 2, 3, 4, 5, 6, 7, 8}
总结:
  1. a和b集合不会改变
  2. 返回新集合,新集合是a和b的并集

符号|

a = set([1, 2, 3, 4, 5])
b = set([4, 5, 6, 7, 8])
c=a | b
print(a)
print(b)
print(c)

结果如下:

{1, 2, 3, 4, 5}
{4, 5, 6, 7, 8}
{1, 2, 3, 4, 5, 6, 7, 8}
总结:
  1. a和b集合不会改变
  2. 返回新集合,新集合是a和b的并集

多个集合的并集

a = [0,1,2,3,4]
b = [0,2,6]
c = [-1,2,5,8]
r = a.union(b,c)
print(r)

结果如下:

{0, 1, 2, 3, 4, 5, 6, 8, -1}

差集

差集:将属于 集合a 但不属于 集合b 的元素,组成一个新集合

例子:

集合a:{1, 2, 3, 4, 5}
集合b:{4, 5, 6, 7, 8}
差集:{1, 2, 3}

difference()

a = set([1, 2, 3, 4, 5])
b = set([4, 5, 6, 7, 8])
c=a.difference(b)
print(a)
print(b)
print(c)

执行结果:

{1, 2, 3, 4, 5}
{4, 5, 6, 7, 8}
{1, 2, 3}

多个集合的差集

a = {0,1,2,3,4}
b = {0,2,6}
c = {1,5,8}
r = a.difference (b,c)
print(r)

结果如下:

{1, 3, 4}

返回两个集合不同的元素

使用 ^ 符号

a = set([1, 2, 3, 4, 5])
b = set([4, 5, 6, 7, 8])
c=a^b
print(a)
print(b)
print(c)

结果如下:

{1, 2, 3, 4, 5}
{4, 5, 6, 7, 8}
{1, 2, 3, 6, 7, 8}

原文出处:/show_1EF5Q6bYFSod.html