1.集合的定义
d = {'james':99,'jack':88}#字典 s1 = {1,2,3,4,5,6,7}#集合 s2 = {11,223,44,33,55} print(s1) '''set()方法来创建集合--列表list() 字典dict() 元组tuple()''' s1 = set(range(6)) print(s1,type(s1)) s = ([1,2,3,4,5]) print(s,type(s)) ss = set((1,2,3,4,5,6,7,8))#集合会自去重复的元素 redis: string list hash set zset print(ss,type(ss)) 0 sss = set('james') print(sss,type(sss)) #如何定义一个空的集合 ssss = {}#空的字典 print(type(ssss)) sssss = set() print(type(sssss))
2.集合的相关操作
s1 = {1,2,3,4,5,6,7}#集合 print(1 in s1) print(1 not in s1) print(100 not in s1) print(100 in s1) #向集合里新增数据 s1.add(8) print(s1) #增加多个元素 s1.update((32,11,23)) print(s1) #集合删除的操作 s1.remove(88) print(s1) s1.remove(999) s1.discard(23) print(s1) s1.pop() print(s1) s1.clear
3.集合的运算关系
s = {1,2,3,4,1}#集合 s1 = {2,3,4,1} print(s == s1) #集合中的子集判断 s1 = {1,2,3,4} s2 = {1,2} s3 = {1,2,5} print(s2.issubset(s1))#ture print(s3.issubset(s1))#False #判断一个集合是不是另一个集合超集 print(s1.issuperset(s2))#True print(s1.issuperset(s3))#False #两集合之间有没有相交的的地方 print(s2.isdisjoint(s3))#有相交的地方,它返回False s4={77,88} print(s2.isdisjoint(s4))
集合的数据操作
s = {1,2,3,4,1}#集合 s1 = {2,3,4,1} s2 = {2,3,4,1,5} print(s == s1) #交集 print(s1.intersection(s2)) print(s1&s2) #差集 print(s2.difference(s1)) print(s2-s1) #对称差集 print(s1.symmetric_difference(s2)) print(s1^s2)
集合生成式
lst = [i*i for i in range(6)] print(lst) #列表(list)可变 可重复 有序 【】 #元组(tuple)不可变 可重复 有序 () #字典(dict)可变 key不可重复/value可重复 无序{key:value} #集合(set)可变 不可重复 无需 {}