最近这几天事多,学习进度有点慢,后边要抓紧时间,争取在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)
感觉这个集合,应该主要是用来进行关系运算,在数据计算、统计时,这个集合应该是很好用的。