python教程系列(一.4.4、python内置函数之set)
集合-set
集合是高中数据中的一个概念。
确定的一堆无序数据。集合中的每个数据称为一个元素
集合的定义
1.创建空集合
变量 = set()
2.创建多个数据的集合
变量 = {值,值,值....}
注意:集合是内部元素绝对唯一的数据,所以集合中出现多个相同数据时只会保留一份
集合的特征
1.集合是一种无序的数据类型,无法通过索引和分片进行操作
2.集合是内部元素绝对唯一的数据,常常用于去掉重复数据
3.集合的数据,str,int,float,bool,tuple,冰冻集合。
集合序列操作
成员检测操作
数据 in 集合
检测数据是否在集合当中
数据 not in 集合
检测数据是否不在集合当中
集合遍历操作
普通集合遍历
集合 = {值,值,值....}
for 变量 in 集合:
使用变量
带有元组的集合遍历
集合 = {(值1,值2..),(值3,值4..)...}
for 变量1,变量2.. in 集合:
使用变量1和变量等
集合内涵
普通集合内涵
新集合 = {变量 for 变量 in 集合}
带条件的集合内涵
新集合 = {变量 for 变量 in 集合 if 条件}
多循环的集合内涵
新集合 = {变量1+变量2 for 变量1 in 集合1 for 变量2 in 集合2 if 条件}
集合函数
len() 获取集合中元素的个数
格式:len(集合)
返回值:整数
max() 获取集合中最大的元素
格式:max(集合)
返回值:集合中最大的值
min() 获取集合中最小的元组
格式:min(集合)
返回值:集合中的最小值
set() 将其他序列转化为集合类型
格式:set(序列)
返回值:集合类型
集合函数
add() 向集合中添加数据
格式: 集合.add(数据)
返回值:无
注意:直接改变原有集合,已存在的数据无法添加
clear() 清空集合
格式:集合.clear()
返回值:无
注意:直接改变原有集合
copy() 集合复制
格式:集合.copy()
返回值:原集合所有数据组成的新的集合
remove() 移除指定的值
格式:集合.remove(值)
返回值:无
注意:直接改变原有集合,如果要删除的值不存在,就报错
discard()移除集合中指定的值
格式:集合.discard(值)
返回值:无
注意:直接改变原有集合,如果要删除的值不存在,就不作任何操作
pop() 随机移除一个元素
格式:集合.pop()
返回值:被移除的元素
注意:随机移除元素,没啥规律
intersection() 计算两个值集合之间的交集
格式: 集合1.intersection(集合2)
返回值:新的集合
difference() 计算两个集合之间的差集
格式: 集合1.difference(集合2)
返回值:新的集合
union() 计算两个集合之间的并集操作
格式:集合1.union(集合2)
返回值:新的集合
issubset() 检测一个集合是否是另外一个集合的子集
格式:集合1.issubset(集合2)
返回值:布尔值
issuperset() 检测一个集合是否是另外一个和集合的超集
格式:集合1.issuperset(集合2)
返回值:布尔值
difference_update() 计算集合1和集合2的差集并且将结果赋值给集合1
格式:集合1.difference_update(集合2)
返回值:无
注意:操作结果直接赋值给集合1
intersection_update() 计算集合1和集合2的交集并且将结果赋值给集合1
格式:集合1.intersection_update(集合2)
返回值:无
注意:操作结果直接赋值给集合1
update() 计算集合1和集合2的并集并且将并集结果赋值给集合1
格式:集合1.update(集合2)
返回值:无
注意:操作结果直接赋值给集合1
冰冻集合/固定集合 frozen
冰冻集合就是不可以进行任何修改相关操作的集合
创建冰冻集合
创建空的冰冻集合
变量 = frozenset()
创建具有数据的冰冻集合
变量 = fronzenset(一个序列)
操作方法和函数
冰冻集合的操作相关函数和方法同集合类型一样。
只是不可以使用修改集合相关的方法和函数
注意
frozenset 和普通的集合一样没有什么本质区别,能够使用的函数数量不一样,仅此而已哦