python学习,day3:集合的学习

集合天生去重,另外集合非常便于两组数字的取交集,并集等计算

 1 # coding=utf-8
 2 # Author: RyAn Bi
 3 list_1 =[1,2,3,4,5,6,7]
 4 list_1 =set(list_1)  #定义为集合,集合处理重复的数据比较有优势
 5 list_2= set([2,6,0,55,23,77,7])
 6 print(list_1,type(list_1))
 7 
 8 print(list_1.intersection(list_2)) #取交集
 9 print(list_1.union(list_2)) #取并集
10 print(list_1.difference(list_2)) #取差集,在集合1但是不在集合2中
11 print(list_1.symmetric_difference(list_2)) # 取反向差集,把重复的去掉
12 
13 list_3 = set([1,2,3])
14 print(list_1.issubset(list_2))  #list1是list2的子集么?
15 print(list_1.issuperset(list_2))  #list1是list2的父集么?
16 print(list_3.issubset(list_1))  #list3是list31的子集么?
17 
18 list_4 = set([4,6,7])
19 print(list_3.isdisjoint(list_4))   #没有交集的话为true
20 
21 print(list_1 & list_2) #交集,用运算符方式表示
22 print(list_1 | list_2) #并集,用运算符方式表示
23 print(list_1 - list_2) #差集,在1中不在2用运算符方式表示
24 print(list_1 ^ list_2) #对称差集,不会同时出现在两者中,用运算符方式表示
25 
26 #----------------
27 
28 list_1.add(999)  #添加一项
29 list_1.update([888,999,777]) #添加多项
30 list_1.remove('1') #删除1,不可能有2个1,集合天生去重,没有1会报错
31 list_1.discard('1') #删除1,如果没有1,不会报错
32 
33 x in s #测试x是不是s的子集
34 x not in s #测试x不是s的自己
35 
36 print(list_1.pop())  #随机删除一个

 

posted @ 2019-01-23 14:31  bbgoal  阅读(137)  评论(0编辑  收藏  举报