1. 前言
python中的集合和数学里的类似也是用于存放不重复的元素,它有可变集合(set)和不可变集合(feozenset)两种,集合的所有元素都放在一对大括号"{}"里(列表是[]、元组是()、字典是{}),集合最好的应用就是去重,因为集合中的每一个元素都是唯一的。
2. 集合的创建
2.1.直接使用"{}"创建
格式:集合名={element 1,element 2,......,element n}
在创建集合时,如果输入了重复的元素,python会自动只保留一个。
举例
set1={1,2,3,4,5,6,1} print(set1)
2.2.用set()函数创建
将列表、元组等其他可迭代对象转换为集合
格式:集合名=set(iteration)
iteration表示要转换为集合的可迭代对象
举例
lst=[1,2,3,4,5,6,1] set1=set(lst) print(set1)
注意:在创建空集合时,只能使用set()实现,而不能使用大括号"{}"实现,在python里,直接使用一对大括号"{}"表示创建一个空字典。
3. 修改集合中的元素
3.1. 向集合添加元素
add()方法
格式:集合名.add(element)
注意:element表示要添加的元素内容,只能是字符串、数字、布尔类型等,不能是列表、元组等可迭代对象。
举例
set1={1,2,3,4,5} print(set1) set1.add(6) print(set1)
update()方法
update方法也可以添加元素,且参数可以是列表,元组,字典等。
格式:集合名.update()
举例
set2 = set(("Google", "Runoob", "Taobao")) set2.update({1,3}) print(set2) #{1, 3, 'Google', 'Taobao', 'Runoob'} set2.update([1,4],[5,6]) print(set2) #{1, 3, 4, 5, 6, 'Google', 'Taobao', 'Runoob'}
3.3.从集合中删除元素
使用del命令可以删除整个集合;
使用pop()删除第一个元素;
使用remove()可以删除指定一个元素;
使用clear()可以使删除集合中所有元素,使其变为空集合;
使用discard()移除集合中的元素,且如果元素不存在,不会发生错误。
del命令举例
set1={1,2,3,4,5} del set1 print(set1)
pop()/remove()举例
set1={1,2,3,4,5} set1.pop() print(set1) set1.remove(4) print(set1)
clear()举例
set1={1,2,3,4,5} set1.clear() print(set1)
discard()举例
set1={1,2,3,4,5} set1.discard(7) print(set1)
4. 遍历集合的元素
# 遍历集合
for s in set1: print(2)
5. 判断是否在集合中
s in set1
判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。
6. 计算集合元素个数
len(set1)
7. 集合的交集、并集和差集运算
4.1交集:&
4.2并集:|
4.3差集:-
举例
set1={1,2,3,4,5} set2={3,4,5,6,7} print(set1&set2) print(set1|set2) print(set1-set2)
8. 集合内置方法完整列表
方法 |
描述 |
为集合添加元素 |
|
移除集合中的所有元素 |
|
拷贝一个集合 |
|
返回多个集合的差集 |
|
移除集合中的元素,该元素在指定的集合也存在。 |
|
删除集合中指定的元素 |
|
返回集合的交集 |
|
返回集合的交集。 |
|
判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。 |
|
判断指定集合是否为该方法参数集合的子集。 |
|
判断该方法的参数集合是否为指定集合的子集 |
|
随机移除元素 |
|
移除指定元素 |
|
返回两个集合中不重复的元素集合。 |
|
移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。 |
|
返回两个集合的并集 |
|
给集合添加元素 |