集合(set)
一、初识集合
1.特点
- 可变的
- 是用大括号表示
- 集合内的元素:无序的,唯一的,不可改变类型
2.声明
- 声明空集合:s = set()
- 声明非空集合:s = {value1,value2,…}
s = set()
print(s)
s1 = {1, 1, 2, 2, 4, 4, 5, 3, 6, 7, 8, 'a', 'b', 'c'}
print(s1)
二、集合的操作
方法 | 描述 |
---|
add(item) | 将元素添加到集合中,如果元素已经存在,则不添加,如果添加为可变类型则报错。 |
copy() | 复制一个集合。 |
pop() | 随机删除集合中的一个元素,这是官方文档中描述的。但是实战发现是从第一个删除。 |
clear() | 清空集合。 |
remove(item) | 删除一个指定的元素,元素不存在报错 |
discard(item) | 删除一个指定元素,元素不存在不报错,什么也不做 |
difference() | 差集。返回多个集合的差集。 |
difference_update() | 移除集合中的元素,该元素在指定集合中也存在。 |
intersection() | 交集。返回集合的交集。 |
intersection_update() | 删除集合中的元素,该元素在指定集合中不存在。 |
isdisjoint() | 判断两个集合是否包含相同的元素。没有返回True,有返回False。 |
issubset() | 子集。s1是否是s2的子集。s1<s2 |
issuperset() | 超集。参数集合是否是指定集合的子集。s1>s2 |
symmetric_difference() | 反交集。返回两个集合中不重复的元素集合。 |
symmetric_difference_update() | 移除集合中的相同元素,并将不同元素合并。 |
union() | 并集。返回两个集合的并集。 |
update() | 获取并集,并将数据更新给s1. |
三、集合的应用场景
lst = [1, 1, 2, 2, 4, 4, 5, 3, 6, 7, 8, 'a', 'b', 'c']
s1 = set(lst)
print(s1)
for i in list(s1):
print(i, end=" ")