集合
定义:
在{}内用逗号分隔开多个元素,多个元素满足以下三个条件
1.集合内元素必须为不可变类型
2.集合内元素无序
3‘集合内元素没有重复
s={1,2}
s={1,[1,2]}
print(s) #会报错,集合内元素必须为不可变类型
s={1,'a','z','b',4,7} # 集合内元素无序
s={1,1,1,1,1,1,'a','b'} # 集合内元素没有重复
print(s)
>>>
{1,'a','b'}
# s={} # 默认是空字典
# print(type(s))
# 定义空集合
# s=set()
# print(s,type(s))
s={} # 默认是空字典
定义空集合
s=set() #调用set功能
print(s)
s={} #此时才是空集合
类型转换
a=set([1,2,3]) #列表也可以转换
print(a)
>>>
{1,2,3}
res=set('hellolllll') #集合会把多余重复的自动清除
print(res)
>>>
{'h', 'o', 'e', 'l'} #集合是无序的
关系运算符
取交集: 符号: $
两个集合共同拥有的元素
a = {"zero","kevin","jason","egon"}
b = {"Jy","ricky","jason","egon"}
res=a & b #集合内没有顺序,a在前或者在后没有影响
print(res)
>>>
{'egon', 'jason'}
intersection #跟符号$一个意思
print(a.intersection(b))
>>>
{'egon', 'jason'}
取并集或者叫取合集: 符号:|
去掉重复的,两个集合所有的元素合并到一起,
a = {"zero","kevin","jason","egon"}
b = {"Jy","ricky","jason","egon"}
print(a | b) #集合内没有顺序,a在前或者在后没有影响
>>>
{'kevin', 'jason', 'egon', 'zero', 'ricky', 'Jy'}
union #跟符号|一个意思
print(a.union(b))
>>>
{'kevin', 'jason', 'egon', 'zero', 'ricky', 'Jy'}
取差集:
两个集合独有的元素
a = {"zero","kevin","jason","egon"}
b = {"Jy","ricky","jason","egon"}
print(a - b) ##求的是a的独有元素,此时有顺序了,谁在前面就是求谁独有的元素
>>>
{'zero','kevin'}
print(b - a) ##求的是b的独有元素,此时有顺序了,谁在前面就是求谁独有的元素
>>>
{'ty','rick'}
difference():跟上面的意思一样
print(a.difference(b))
>>>
{'ty','rick'}
对称差集: 符号:^
把两个集合独有的元素合并到一起(即去掉共有的元素)
a = {"zero","kevin","jason","egon"}
b = {"Jy","ricky","jason","egon"}
print(a ^ b)
>>>
{'kevin', 'ricky', 'zero', 'Jy'}
symmetric_difference:意思跟上面一样
print(a.symmetric_difference(b))
>>>
{'kevin', 'ricky', 'zero', 'Jy'}
父子集
包含的关系
s1 = {1,2,3}
s2 = {1,2,4}
print(s1 > s2) #不存在包含关系,进行比较均为Fales
s1 = {1,2,3}
s2 = {1,2,}
print(s1 >= s2) #当s1大于等于s2时,才能说是s1是s2他“爹”
>>>
True
s1 = {1,2,}
s2 = {1,2,}
print(s1 == s2) #s1与s2互为父子
>>>
True