一、集合介绍
Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种。集合是一个无序的,不重复的数据组合,主要作用为:去重(把一个列表变成集合,就自动去重了),测试两组数据的交集、差集、并集等。set里面可以是多种数据类型(但不能是列表,集合,字典,可以是元组)。
二、创建集合set
使用大括号或者set()来创建集合。如果想要创建空集合,必须使用set()来创建。
s = {"aaa","bbb","ccc"}
s1 = set("aaa","bbb","ccc")
s2 = set()
三、添加元素
s = {"aa","bbb"}
s.add("ccc")#在集合后边添加"ccc",如果添加的元素是重复的,则不会进行操作
四、更新集合
s = {"a","b","c",1,2,3}
s.update(x)#x可以是列表,元组,字典等,x可以有多个,用逗号分开。但是x不能是单独的数字
s.update(1)#会被报错
s.update("sss")#只会添加一个"s"
五、删除元素
s = {"a","b","c","d"}
s.discard("a")#删除s中的"a"元素,如果"a”不存在,不会进行操作,不报错。
s.remove("a")#移除s中的"a"元素,如果“a“不存在,会报错。
s.pop()#随机删除并返回集合s中某个值,因为set是无序的,所以pop删除的只是随机的一个元素。
s.clear()#清空s中的所有元素
六、集合内置函数和方法
序号 |
方法及描述 |
实例 |
1 |
x in s |
s = {"a","b","c"} x = "b" print(x in s)#输出为True |
2 |
union() |
s.union(x)#返回s与集合x的交集,不改变原集合s,x可以是列 表,元组,字典。 |
3 |
intersection() |
s.intersection(x)#返回s与集合x的并集,不改变s,x也可以是 列表,元组,字典。 |
4 |
difference() |
s.difference(x)#返回在集合s中而不再集合x中的元素的集合, 不改变集合s,x也可以是列表,元组和字典。 |
5 |
symmetric_difference() |
s.symmetric_difference(x)#返回s和集合x的对称差集,即只在 其中一个集合中出现的元素,不改变集合s。 |
6 |
issubset() |
s.issubset(x)判断集合s是否是集合x的子集 |
7 |
issuperset() |
s.issuperset(x)判断集合x是否是集合s的子集 |
8 |
isdisjoint() |
s.isdisjoint(s1)判断s和s1是否完全没有任何交集 |
七、集合运算符
s1 & s2 #求两个集合的交集
s1 | s2 #求两个集合的并集
s1 - s2 #求s1减去s2的差集
s1 ^ s2 #求两个集合的对称差集