什么是集合
集合是没有value的字典(hash函数排列)
集合的创建方式
1.使用{}
s={1,2,3,4}
集合中不可以含有两个相同的地数的
2.使用内置函数set()
s1=set(range(6))
s2=set([1,2,3,4,5,6]) 将列表/元组元素转化为字典
s3=set('python') ----->这个输出结果为['n','h',....](这里表明集合的元素是无序的—)
集合的相关操作
集合的判断
与列表之类的相同 in / not in
集合的新增
使用add方法,添加一个元素
使用update方法,添加多个元素
s.update(1,2,3) 添加的元素可以是列表元素或元组(会自动将其转换)
集合的删除
删一个元素:
指定:1.使用remove方法,若没有则报异常
2.使用discard方法,若没有不报异常
任意:pop方法,删除的元素不确定
clear:全部删除
集合之间的关系
1.两个集合是否相等
==(只要元素都相同就可以)
2.是否有子集关系
子集:
print(s1.issubset(s2))---->s1是s2的子集吗?
超集:
issuperset
3.两集合是否有交集
isdisjoint 是——>false
集合的数据操作
交集操作:
s1.intersection(s2) //s1 & s2
并集操作:
unoin // |
差集操作:
s1.difference(s2) // s1 - s2 有方向
对称差集:
symmetric_difference // ^ 两个集合的并集减去交集
集合生成式
{ i for i in range(6)} (区分与字典生成式)