一、集合介绍

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的交集,不改变原集合sx可以是列

表,元组,字典。

3

intersection()

s.intersection(x)#返回s与集合x的并集,不改变sx也可以是

列表,元组,字典。

4

difference()

s.difference(x)#返回在集合s中而不再集合x中的元素的集合,

不改变集合sx也可以是列表,元组和字典。

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)判断ss1是否完全没有任何交集

七、集合运算符

s1 & s2 #求两个集合的交集

s1 | s2 #求两个集合的并集

s1 - s2 #s1减去s2的差集

s1 ^ s2 #求两个集合的对称差集