Python3 集合交叉并集

集合操作符:

set1 & set2:求交集

set1 | set2:求合集或并集

set1 - set2:求差集

set1 ^ set2: 求补集

 

 1 >>> set1 = {1,2,3,4}
 2 >>> set2 = {3,4,5}
 3 >>> set1-set2   #求差集
 4 {1, 2}
 5 >>> set2-set1  #求差集
 6 {5}
 7 >>> set1 & set2 #求交集
 8 {3, 4}
 9 >>> set1^set2   #求补集
10 {1, 2, 5}
11 >>> set1 | set2  #求并集
12 {1, 2, 3, 4, 5}

 

交集:

1 # intersection(self, *args, **kwargs)方法
2 # 集合的交集,取2个集合中的共有元素
3 # 内置方法intersection(self, *args, **kwargs),等同于(set1 & set2)
4 s_1 = {1, 23, 4, 5, 8}
5 s_2 = {1, 2, 4, 5}
6 print('集合1:', s_1, '集合2: ', s_2)
7 print('intersection s_1 & s_2:', s_1 & s_2)
8 s_3 = s_1.intersection(s_2)
9 print('s_1.intersection(): ', s_3)

  输出:

1 集合1: {1, 4, 5, 8, 23} 集合2:  {1, 2, 4, 5}
2 intersection s_1 & s_2: {1, 4, 5}
3 s_1.intersection():  {1, 4, 5}
4 集合1: {1, 4, 5, 8, 23} 集合2:  {1, 2, 4, 5}
5 union s_1|s_2: {1, 2, 4, 5, 23, 8}
6 s_1.union():  {1, 2, 4, 5, 23, 8}

 

并集:

 1 # union(self, *args, **kwargs)方法
 2 # 集合的并集,取2个集合中的所有元素,并去重
 3 # 内置方法,等同于(set1 | set2)
 4 s_1 = {1, 23, 4, 5, 8}
 5 s_2 = {1, 2, 4, 5}
 6 print('集合1:', s_1, '集合2: ', s_2)
 7 print('union s_1|s_2:', s_1 | s_2)
 8 s_3 = s_1.union(s_2)
 9 print('s_1.union(): ', s_3)
10 print()

  输出:

1 集合1: {1, 4, 5, 8, 23} 集合2:  {1, 2, 4, 5}
2 intersection s_1 & s_2: {1, 4, 5}
3 s_1.intersection():  {1, 4, 5}

 

差集:

 1 # difference(self, *args, **kwargs)方法
 2 # 集合的差集,取前一个集合中的元素,且该元素不存在于后一个集合
 3 # 内置方法,等同于(set1 - set2)
 4 s_1 = {1, 23, 4, 5, 8}
 5 s_2 = {1, 2, 4, 5}
 6 print('集合1:', s_1, '集合2: ', s_2)
 7 print('difference s_1-s_2:', s_1 - s_2)
 8 s_3 = s_1.union(s_2)
 9 print('s_1.difference(s_2): ', s_3)
10 print()
11 print('集合1:', s_1, '集合2: ', s_2)
12 print('difference s_1-s_2:', s_2 - s_2)
13 s_4 = s_1.union(s_2)
14 print('s_2.difference(s_2): ', s_4)

  输出:

1 集合1: {1, 4, 5, 8, 23} 集合2:  {1, 2, 4, 5}
2 union s_1|s_2: {1, 2, 4, 5, 23, 8}
3 s_1.union():  {1, 2, 4, 5, 23, 8}

 

posted @ 2018-04-10 17:11  忙碌的捕快  阅读(379)  评论(0)    收藏  举报
levels of contents