摘要:
Python集合的概念、分类,创建、运算、常用方法、集合推导式。
Python集合的概念:
和数学中的集合概念接近,由一个或者多个确定的元素构成的整体。
图:Python集合
创建集合:
1、创建可变集合 set
创建可变集合语法:
s = set() #空集合
s = set(可迭代对象) #创建非空集合
s = #{} 可以创建非空机和
创建可变集合示例:
图:创建可变集合
试验:
s =
s = ,"22"}
结果如何?
2、创建不可不集合 frozenset
创建不可变集合的语法:
fz = frozenset() #空不可变集合
fz = frozenset(可迭代对象)
创建不可变集合示例:
图:创建不可变集合
集合主要运算:
集合运算主要包括:并集、交集、补集、子集、超集。
1、集合 并集
由所有属于集合 A 或属于集合 B 的元素所组成的集合,称为集合 A 与 B 的并集(Union),去重。
图:集合并集
示例:
2、集合交集
由属于集合 A 且属于集合 B 的元素所组成的集合,叫做集合 A 与 B 的交集(intersection),多个集合的公共部分。
图:集合交集
示例:
3、集合补集
差补/相对补集 ( – )
两个集合(B 和 A)的差补或相对补集是指一个集合 C,该集合中的元素,只属于集合 B,而不属于集合 A。 B – A
图:集合补集
示例:
4、对称补集:
两个集合( A 和 B )的对称补集是指另外一个集合C,该集合中的元素,只能是属于集合 A 或者集合 B的成员,不能同时属于两个集合。
示例:
5、子集/超集:
如果一个集合A中的每一个元素都在集合B中,且集合B中可能包含A中没有的元素,则集合B就是A的一个超集,反过来,A是B的子集。 B是A的超集,若B中一定有A中没有的元素,则B是A的真超集,反过来A是B的真子集。
示例:
6、集合等价,不等价(相等,不相等)运算:
== 等价
!= 不等价
示例:
7、混合集合类型操作:
A 可变集合
B 不可变集合
8、成员关系 ( in, not in ):
判断一个对象是否是集合内的元素
示例
集合遍历:
使用 for in 遍历集合对象示例
可变集合常用方法:
1、add方法:
向集合中添加一个新的元素,如果元素已经存在,则不添加
A.add(对象)
2、update方法:
用一个集合更新本集合
A.update(集合)
3、remove方法:
从集合中删除一个元素,如果元素不存在于集合中,则会产生一个KeyError错误
A.remove(对象)
4、pop方法:
从集合中随机的删除一个元素,并返回该元素
A.pop()
5、clear方法:
清空集合元素
A.clear()
6、copy方法:
复制集合(浅复制,复制一层)
A.copy()
7、del 集合:
可变集合和不可变集合小结
1、可变集合元素可增加、减少
•支持add,update,remove, pop, clear方法
•支持 copy 方法
2、不可变集合,创建后不能改变
•支持 copy方法
•不支持 add,update,remove,pop, clear等方法
3、可变集合和不可变集合混合运算,结果类型要考虑先后
4、集合不支持序列的索引操作,不支持字典的键索引操作
5、不可变集合可以做字典键,可变集合不可以做字典键
集合推导式:
集合推导式是用可迭的对象依次生成集合内元素的方式
语法
{ 表达式 for 变量 in 可迭代对象 }
或
{ 表达式 for 变量 in 可迭代对象 if 条件语句 }
示例:
names = [1, 3, "Name", "Mob"]
s = { n for n in names}