14-集合

集合

确定的无序的一组数据就是集合。

1.集合中的值不会重复 唯一性
2.集合中的元素没有任何顺序
3.集合中可以使用整数,浮点数,布尔值,复数,字符串,元组,冰冻集合

集合操作

创建集合

1.创建空集合

变量 = set()

2.创建多个数据的集合

变量 = {值,值....}

注意:集合是唯一性数据,所有相同的数据只会保留一份。

集合的基本操作

一个都没有

集合的序列操作

序列操作仅可以进行成员检测

值 in 集合

检测某个值是否存在于集合当中

值 not in 集合

检测一个值是否不再集合当中

集合的序列函数

len() 计算集合的长度

max() 获取集合中的最大值

min() 获取集合中的最小值

set() 创建空集合或者将其他数据转换为集合

集合的遍历

1.普通序列的遍历

for 变量 in 集合:
    使用变量

2.多级集合

集合 = {(值,值..),(值,值..)。。。}

for 变量1,变量2 in 集合:

    使用变量1和变量2

集合内涵/推导式

1.普通的集合推导式

变量={i for i in 集合}

2.带有判断条件的推导式

变量={i for i in 集合 if}

3.多循环推导式

变量 = {i+j for i in 集合1 for j in 集合2}

4.带有判断条件的多循环推导式

变量 = {i+j for i in 集合1 for j in 集合2 if 条件表达式}

集合专用函数

add() 向集合中添加一个元素

格式:集合.add(值)
返回值:None

注意:直接改变原有集合

pop() 随机删除集合中的一个元素

格式:集合.pop()
返回值:删除的那个元素
注意:直接改变原有集合

remove() 删除集合中的某个元素

格式:集合.remove(值)
返回值:None

注意:直接改变原有集合

discard() 删除集合中的某个元素

格式:集合.dicard(值)
返回值:None

注意:直接改变原有集合

remove移除非成员值会报错,discard移除非成员值,啥也不错!

clear() 清空集合

格式:集合.clear()
返回值:None

注意:直接改变原有集合

copy() 复制集合

格式:集合.copy()
返回值:复制的一份集合

集合函数
difference()差集

格式:集合1.difference(集合2)
返回值:集合
操作:获取存在于集合1但是不存在与集合2中的数据的集合

difference_update()差集 更新

格式:集合1.difference(集合2)
返回值:无 直接将结果赋值给集合1
操作:获取存在于集合1但是不存在与集合2中的数据的集合

intersection()交集

格式:集合1.intersection(集合2)
返回值:集合
操作:获取即存在于集合1又存在于集合2中的数据组成的集合

intersection_update()交集更新

格式:集合1.intersection_update(集合2)
返回值:None  直接将结果赋值给集合1
操作:获取即存在于集合1又存在于集合2中的数据组成的集合

union()并集

格式:集合1.union(集合2)
返回值:集合
操作:将集合1和集合2中所有数据新建一个集合(去重)

update() 并集更新

格式:集合1.update(集合2)
返回值:无   直接将结果赋值给集合1
操作:将集合1和集合2中所有数据新建一个集合(去重)

issuperset() 检测一个集合是不是另外一个集合的超集

格式:集合1.issuperset(集合2)
返回值:布尔值

issubset() 检测一个集合是不是另外一个集合的字节

格式:集合1.issubset(集合2)
返回值:布尔值

isdisjoint()检测2个集合是否相交

格式:集合1.isdisjoint(集合)
返回值:布尔值

symmetric_difference()对称差集操作

格式:集合1.symmetric_difference(集合2)
返回值:集合
操作:将集合1和集合2不相交的部分取出组成的新的集合

symmetric_difference_update()对称差集更新操作

格式:集合1.symmetric_difference_update(集合2)
返回值:None 直接将结果赋值给集合1
操作:将集合1和集合2不相交的部分取出组成的新的集合

冰冻集合/固定集合 frozenset

冰冻集合就是一旦创建,不可以在进行任何修改的集合。

创建一个冰冻集合

创建空的冰冻集合

变量 = frozenset()

创建多个元素的集合

变量 = frozenset(容器类数据)

冰冻集合的遍历

for 变量 in 冰冻集合:
    使用变量

你可能感兴趣的:(14-集合)