python基础 - day7~8 集合
一、集合
1、什么是集合
1)集合是容器型的数据类型,以
{}
作为容器的标志,每个元素用逗号隔开:{元素1, 元素2, 元素3, ...}
2)特点 : 可变的 - 支持增删改查
无序的 - 不支持下标操作
元素 - 元素的值是不可变的,也是唯一的(可以用集合来去重)
3)空集合 - 用
set()
表示空集合,{}
表示的是空字典4)证明无序 -
print({'a', 'b', 'd'} == {'b', 'd', 'a'}) # True
5)集合可变,但是元素不可变
查 - 只支持遍历查询(过程是:python系统内部会将集合转换成列表来遍历)
增 -
集合.add(元素)
- 向集合添加单个元素
集合.update(序列)
- 将序列添加到集合中,序列中的单个元素需要不可变 改 - 只能通过先删除原元素,再向集合增加元素的这个办法
删 -
集合.remove(元素)
:删除集合中指定元素 - 不存在会报错
集合.discard(元素)
:删除集合中指定元素 - 不存在不会报错
2、集合的数学运算
集合支持数学集合运算,包括:&(交集)、|(并集)、-(差集)、^(对称差集)、>、<、>=、<=(判断包含关系)
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 |