1、集合set 概念和特点
- 定义: 集合(set)是一种可迭代的、无序的、不能包含重复元素的容器类型的数据。
- 特点:
- 使用{ } 标识;
- 元素无序,不重复;
2、集合的创建
2.1 对象式:
set1 = {1,2}
# 注意: 因为set和dict都是{}标识,如果 set1 ={} 默认是dict的类型
print(type(set1)) # <class 'set'>
2.2 函数式:
set1 = set()
print(type(set1)) # <class 'set'>
3、集合的操作
集合set是一个容器,所以可以进行各种操作。记住set集合是无序不重复的;
3.1 集合的增 / 改:
方法 | 作用 |
---|---|
add (obj) | obj作为元素存储到set集合; |
update(obj) | obj元素拆分后分别存储到set集合; |
3.2 集合的删:
方法 | 作用 |
---|---|
pop() | 弹出其中一个元素; 该方法无参数; 返回:弹出的元素; |
remove(elment) | 删除指定的元素,如果不存在,抛异常; |
discard(element) | 删除指定的元素,如果不存在,不抛异常; 无返回值的方法; 单词 discard :扔掉; |
clear() | 清空集合; |
del 集合名 | 销毁 集合; |
3.3 集合的查:
关键字 | 作用 |
---|---|
item in set1 | 查询item 是否在集合中; |
方法 | 作用 |
s1.difference(s2,...) | 返回新的差集集合,原集合不变; |
s1.difference_update(s2,...) | 直接修改原集合为差集集合; 无返回值; |
s1.intersection(s2,...) | 返回新的交集集合,原集合不变; |
s1.intersection_update(s2,...) | 直接修改原集合为交集集合; 无返回值; intersection :相交;交叉; |
s1.symmetric_difference(s2) | 返回两个集合中不重复的元素集合(对称差集合)。 |
s1.symmetric_difference_update(s2) | 直接在原集合上修改为对称差集合; 无返回值; symmetric :对称的; |
s1.union(s2,...) | 返回多个集合的并集; |
s1.isdisjoint(s2) | 判断是否无交集; 无:返回True; |
s1.issubset(s2) | 判断s1 是否为s2的子集合; |
s1.issupperset(s2) | 判断s1是否为s2的父集合; |
4、集合的遍历
s1 = {1,2,3,4,5}
for item in s1:
print(item)