Python中的set是一种内置的基础数据结构,中文名叫集合。
一、set的定义和创建
集合可以理解为一组key的集合,但不存储value。
在set中没有重复的key
输出是一个大括号括起来的集合{}
注意:不可以放入可变对象。只能放入不可变对象。
(1)创建set
需要一个list作为输入
s = set([1,2,3])
重复元素将被过滤
s = set([1, 1, 2, 2, 3, 3])
结果将为{1,2,3}
二、set的基本操作
(1)add(key)
添加元素key到set中。
重复添加无效。 s.add(4)
(2)remove(key)
删除元素key
s.remove(4)
(3)集合运算
假设s1 = set([1, 2, 3]) s2 = set([2, 3, 4])
1. 交集&
s1 & s2 ----> {2,3}
2. 并集|
s1 | s2 ----> {1,2,3,4}
3.差集-
s1 - s2 ----> {1}
4.对称差集^
s1 ^ s2 -----> {1,4}
5. set.intersection()
返回交集的结果 新的集合
6.set.intersection_update()
计算两个集合的相交部分,把计算结果重新赋值给第一个集合
7.set.union()
返回并集结果,新的集合
8.set.update()
求并集运算,并且把结果赋值给第一个集合
9. set.difference()
返回差集结果,新的集合
10.set.difference_update
求差集运算,并且把结果赋值给第一个集合
11. set.symmetric_difference
返回对称差集结果,新的集合
12. set.symmetric_difference_update
求对称差集运算,并且把结果赋值给第一个集合
13.超集和子集的检测
set.issuperset() 检测是否为超集
set.issubset() 检测是否为子集
14.是否相交检测
isdisjoint 检测是否不相交,不相交返回True, 相交则返回False
三、冰冻集合
一旦创建就不可以进行修改的集合。
创建形式:
空冰冻集合 变量 = frozenset()
冰冻集合的作用:
为集合的操作提供一个不可以改变的对照集合
frozenset()方法
一个强制转换类函数 例如:
vars = frozenset() # 空的冰冻集合
vars = frozenset({1,2,3}) # 将集合转为冰冻集合
vars = frozenset([1,2,3]) # 将列表转为冰冻集合
print(vars) #(输出) frozenset({1, 2, 3})
冰冻集合的遍历
例如:
vars = frozenset({1,2,3})
for i in vars:
print(i)
好啦,学会了就点个赞呗。