集合(set):确定的无序的一组数据就是集合。(集合无特定的标识符号)
特点:
- 集合中的值不会重复(唯一)
- 集合中的元素没有任何顺序
- 集合中可以使用整数,浮点数,布尔值,复数,字符串,元组,冰冻集
集合的基本操作
1.创建空集合
varset = set() #创建一个空集合
2.具有数据的集合
varset = { ‘A’,‘B’,‘C’ }
3.集合成员检测
print(‘A’ in var)
集合推导式
创建一个集合varset = { ‘A’,‘B’,‘C’ }
1.基本的集合推导式
print({'*' + i + '*' for i in varset})
2.带有判断条件的集合推导式
print({'*' + i + '*' for i in varset if i != 'A'})
3.多循环集合推导式
print({ c + str(s) for c in colors for s in sizes})
集合函数
创建一个列表
var = set()
1.add()向集合中添加元素
var.add('A')
2.pop()随机删除集合中的一个元素
var.pop()
3.remove()删除集合中的指定元素,弱元素不从在就会报错
var.remove('A')
4.discard()删除集合中指定的元素,若元素不存在时,啥都不做
var.disvard('E')
5.clear()清空集合
var.clear()
6.copy()复制集合
new_var = var.copy()
集合处理
假设定义俩个集合var1和var2
1.difference()计算俩个集合的差集
print(var1.difference(var2)) #输出var1集合和var2集合的交集
2.different_update() 俩个集合的差集更新操作,将差集赋值给前一个集合
var1.difference_update(var2) ------> print(var1)
3.union()集合的并集操作
print(var1.union(var2)) #输出俩个集合的并集
4.update()并集的跟新操作
var1.update(var2) #将俩个集合的并集更新至var1集合中
5.intersection()计算俩个集合的交集
print(var1.intersection(var2))
6.intersection_update()更新并集操作
var1.intersection_update(var2) #将俩个集合的交集赋值给var1集合
集合判断操作
1.issupperset()检测当前集合是否是另一个集合的超级
print(var1.issupperset(var2)) #检测集合var1是否是var2集合的超级
2.issubset()检测当前集合是否是另一个集合的子集
print(var1.issubset(var2)) #检测集合var1是否是集合var2的子集
3.isdisjoint()检测俩集合是否不存在交集
print(var1.isdisjoint(var2))
4.symmetric_difference() 集合的对称差集
print(var1.symmetric_difference(var2))
5.symmetric_difference_update() 更新集合的对称差集
var1.symmetric_difference_update(var2)
冰冻集合
定义:冰冻集合是一种特殊的集合类型,(集合是列表的话,冰冻集合就是列表)
1.创建空的冰冻的集合 ——> var = frozenset()
2.带有数据的冰冻集合 ——>var = frozenset(('A','B','C'))
3.成员检测 ——>print('A' in var)
4.遍历冰冻集合 ——> for x in var:
5.集合推导式(结果无法得到冰冻集合,可得到集合,列表,元组,字典等)
res = {i for i in var}
集合函数
1.冰冻集合可以使用集合的函数,前提是不能修改集合本身,如copy()
2.集合的交集,并集,差集等都可以使用,前提是不能修改集合数据
注:冰冻集合和普通集合求并集会得到一个冰冻集合,普通集合和冰冻集合求并集会得到一个普通集合
#注:此文件解释权归自身拥有,若有疑问可邮件咨询:yuxiang000@foxmail.com