目录
什么是集合及集合的创建方法
集合:集合是没有值的字典,集合具有无序性,唯一性,不可重复性三个特点
集合创建方法
1.和字典一致,使用 { }创建集合
1.用{},创建集合
s1={2,2,3,5,32,1}
print(s1)#集合不能包含重复元素<--->字典的key也不能重复
print(type(s1))#<class 'set'>
2.使用set()内置函数,创建集合
#2.用set(),创建集合
s2=set(range(6))#将range产生的整数序列,转换为集合
print(s2)
print(type(s2))
s3=set([2,34,34,1,2])#将列表转换为集合
print(s3)
s4=set((2345,23,54))
print(s4)#将元组转换为集合
s7=set("python")
print(s7)#将字符串转换为集合
#注意到,{'o', 'n', 'p', 'h', 't', 'y'}
#所以,集合具有无序性
#特别地,创建空集合
s5={}
print(type(s5))#<class 'dict'>
#此时被认为是空字典
s6=set()
print(s6,type(s6))
集合间的关系
1.判断两个集合是否相等(==/!=)
#1.判断两个集合是否相等(集合具有无序性)
s1={1,2,3}
s2={3,2,1}
print(s1==s2)#True
print(s1!=s2)#False
2.判断两个集合的从属关系(issubset/issuperset)
#2.判断集合的从属关系
s3={1,2,3,4}
s4={2,3,1}
print(s3.issubset(s4))#s3是s4的子集吗?False
print(s3.issuperset(s4))#s3是s4的超集吗?True
3.判断两个集合是否有交集(isdisjoint)
#3.判断集合是否有交集
print(s3.isdisjoint(s4))#False
s5={0}
print(s3.isdisjoint(s5))#True
集合间数学计算
交集 | intersection | & |
并集 | union | | |
差集 | difference | - |
对称差集 | symmetric_difference | ^ |
#集合间的数学计算
#1.交集的计算
s1={10,20,30,40}
s2={10,30,40}
print(s1.intersection(s2))
print(s1 & s2)
#2.并集的计算
s1={10,20,30,40}
s2={10,30,40}
print(s1.union(s2))
print(s1 | s2)
#3.差集的计算
s1={10,20,30}
s2={10,20,40}
print(s1.difference(s2))
print(s1-s2)
#4.对称差集的计算
s1={10,20,30}
s2={10,20,40}
print(s1.symmetric_difference(s2))
print(s1 ^ s2)
集合生成式
只需将列表生成式的 [ ] 改为 { }即可
#列表生成式
lst=[i*i for i in range(6)]
print(lst)
#集合生成式
s={i*i for i in range(6)}
print(s)