集合的关系运算day06

最近这几天事多,学习进度有点慢,后边要抓紧时间,争取在50天内学完整个课程。

今天抽空看了一下集合,知道了集合有两个特性,一个是天然去重,二个是可能做关系运算。(交、并、差、子)

不说了,直接上代码吧。

 1 set_1=set([1,3,5,7,9])
 2 set_2=set([2,3,4,6,7,9])
 3 #求交集。a:intersection   b:  &
 4 print (set_1.intersection(set_2)) # 3,7,9
 5 print (set_1 & set_2)  #3,7,9
 6 #求并集 。a :union  b:|
 7 print (set_1.union(set_2))#{1, 2, 3, 4, 5, 6, 7, 9}
 8 print (set_1 | set_2) #{1, 2, 3, 4, 5, 6, 7, 9}
 9 #求差积集# 。可以用减号来表示。
10 print (set_1.difference(set_2))#{1, 5}
11 print (set_2.difference(set_1))#{2, 4, 6}
12 #判断是否子集 (issubset)、父集(issuperset)
13 print(set_1.issubset(set_2))# false
14 set_3=set([3,4])
15 print (set_3.issubset(set_2))#true
16 print (set_2.issuperset(set_3))#True
17 #判断对称差集,两个集合的并集减去交集后的结果。是双方集合中不重复部分的和
18 print (set_1.symmetric_difference(set_2))#{1, 2, 4, 5, 6}
19 print ((set_1|set_2)-(set_1&set_2))#{1, 2, 4, 5, 6}
20 
21 #集合常用的操作
22 set_1.add(10)
23 set_2.update([11,12,13])
24 print (set_1,set_2)#{1, 3, 5, 7, 9, 10} {2, 3, 4, 6, 7, 9, 11, 12, 13}
25 set_1.remove(10)#删除集合中的一个数据。如果指定数据不存在,系统会报错。
26 set_1.pop() #随机删除一个数据
27 set_1.discard(11)#删除集合中的一个指定数据,如果指定数据不存在,统不会报错。
28 print (set_1,set_2)

感觉这个集合,应该主要是用来进行关系运算,在数据计算、统计时,这个集合应该是很好用的。

posted @ 2018-01-31 21:20  LZ鱼乐  阅读(145)  评论(0)    收藏  举报