1)集合是容器型的数据类型,以{}作为容器的标志,每个元素用逗号隔开:{元素1, 元素2, 元素3, ...}
2)特点 : 可变的 - 支持增删改查
无序的 - 不支持下标操作
元素 - 元素的值是不可变的,也是唯一的(可以用集合来去重)
3)空集合 - 用set()表示空集合,{}表示的是空字典
4)证明无序 - print({'a', 'b', 'd'} == {'b', 'd', 'a'}) # True
5)集合可变,但是元素不可变
查 - 只支持遍历查询(过程是:python系统内部会将集合转换成列表来遍历)
增 - 集合.add(元素) - 向集合添加单个元素
集合.update(序列) - 将序列添加到集合中,序列中的单个元素需要不可变
改 - 只能通过先删除原元素,再向集合增加元素的这个办法
删 - 集合.remove(元素) :删除集合中指定元素 - 不存在会报错
集合.discard(元素):删除集合中指定元素 - 不存在不会报错
集合支持数学集合运算,包括:&(交集)、|(并集)、-(差集)、^(对称差集)、>、<、>=、<=(判断包含关系)
s1 = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'} s2 = {'C', 'E', 'F', 'J', 'K', 'L', 'I'} 集合运算作用示例集合1 & 集合2求两个集合的公共部分print(s1 & s2) # {‘E’, ‘F’, ‘C’}集合1 | 集合2合并产生一个新的集合print(s1 | s2) # {‘I’, ‘E’, ‘J’, ‘F’, ‘G’, ‘L’, ‘K’, ‘C’, ‘H’, ‘A’, ‘B’, ‘D’}集合1 - 集合2集合1去掉集合2公共部分剩下的print(s1 - s2) # {‘G’, ‘D’, ‘H’, ‘A’, ‘B’}集合2 - 集合1集合2去掉集合1公共部分剩下的print(s2 - s1) # {‘K’, ‘L’, ‘I’, ‘J’}集合1 ^ 集合2将两个集合合并后去掉公共部分print(s2 ^ s1) # {‘B’, ‘D’, ‘L’, ‘K’, ‘A’, ‘G’, ‘H’, ‘I’, ‘J’}集合1 > 集合2判断集合2是否是集合1的真子集print({1, 2, 3, 4} > {1, 2}) # True集合1 < 集合2判断集合1是否是集合2的真子集print({1, 2, 3, 4} < {1, 2, 3, 4}) # False集合1 >= 集合2判断集合2是否是集合1的子集print({1, 2, 3, 4} >= {1, 2, 3, 4}) # True集合1<= 集合2判断集合1是否是集合2的子集print({1, 2, 3, 4} <= {1, 2, 3, 4}) # True