1.集合的创建方式
#集合的创建方式 '''第一种创建方式使用{}''' s={2,3,4,5,5,6,7,7} #集合中的元素不允许重复 print(s) '''第二种创建方式使用set()''' s1 =set(range(6)) print(s1,type(s1)) s2=set([1,2,4,5,5,6,7,8,7]) print(s2,type(s2)) s3=set((1,2,4,4,5,65)) #集合中的元素是无序的 print(s3,type(s3)) s4=set('python') print(s4,type(s4)) s5=set({1,2,3,4,4,5}) print(s5,type(s5)) #定义一个空集合 s6={} #会发现是字典类型 print(type(s6)) #<class 'dict'> #正确定义一个空集合 s7=set() print(type(s7))
2. 集合的相关操作
#集合元素的判断操作 s={10,20,30,405,60} '''集合元素的判断操作''' print(10 in s) print(100 in s) print(10 not in s) print(100 not in s) '''集合元素的新增操作''' s.add(80) #add一次添加一个元素 print(s) s.update({200,300,400}) #至少添加一个元素 print(s) s.update([500,600,700]) s.update((91,92,99)) print(s) '''集合元素的删除操作''' s.remove(10) print(s) #s.remove(55) #KeyError: 55 s.discard(55) s.pop() #s.pop(500) #TypeError: pop() takes no arguments s.clear() #集合元素全部清空 print(s)
3.集合间的关系
'''两个集合是否相等(元素相同,就相等)''' s={10,20,30,40} s2={30,40,20,10} print(s==s2) print(s!=s2) '''一个集合是否是另一个集合的子集''' s1={10,20,30,40,50,60} s2={10,20,30,40} s3={10,20,90} print(s2.issubset(s1)) print(s3.issubset(s1)) '''一个集合是否是另一个集合的超集''' print(s1.issuperset(s2)) print(s1.issuperset(s3)) '''两个集合是否含有交集''' print(s2.isdisjoint(s3)) s4={100,200,300} print(s2.isdisjoint(s4))
4.集合中的数学操作
'''集合中的数学操作''' #(1)交集 s1={10,20,30,40} s2={20,30,40,50,60} print(s1.intersection(s2)) print(s1 & s2) #intersection()与&等价,交集操作 #(2)并集操作 print(s1.union(s2)) #union()与 | 等价,并集操作 print(s1 | s2) #(3)差集操作 print(s1.difference(s2)) print(s1-s2) #(4)对称差集 print(s1.symmetric_difference(s2)) print(s1 ^ s2)
5.集合生成式
#列表生成式 lst=[ i*i for i in range(10)] print(lst) #集合生成式 s={i*i for i in range(10)} print(s)