一、集合的定义
- 集合(set)是一个无序的不重复元素序列。
- 集合中的元素可以是任意数据类型,但每个元素在整个集合中只能出现一次。
- 集合通常用于去重、成员资格测试、集合运算等。
- 可以使用大括号 { } 创建集合,元素之间用逗号 , 分隔, 或者也可以使用 set() 函数创建集合。
# 创建集合
# 方式一
# 不能定义空集合 这是一个字典
s = {}
s0 = {1, 2, 3, 34}
print(s0, type(s0), s, type(s))
# 方式二
s1 = set()
print(s1, type(s1))
# 将可迭代类型元素依次放入集合
s2 = set(range(10))
print(s2)
二、集合的常见操作
1.添加元素
①s.add()
# 将元素添加到集合中,如果元素已存在,则不进行任何操作
s = {1, 2, 3}
s.add(8)
s.add(8)
print(s)
<<<
{8, 1, 2, 3}
②s.update()
# 添加元素,且参数可以是列表,元组,字典等
s = {1, 2, 3, 8}
s.update({12, 23, 3, 4})
print(s)
<<<
{1, 2, 3, 4, 8, 12, 23}
2.移除元素
①s.remove()
#将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
s = {1, 2, 3}
s.remove(1)
print(s)
<<<
{2, 3}
② s.discard()
# 删除指定元素 若不存在 不报错
s = {1, 2, 3}
s.discard(12)
print(s)
<<<
{1, 2, 3}
③s.pop()
# 删除任意一个 随机
s = {1, 2, 3}
s.pop()
print(s)
<<<
{2, 3}
④s.clear()
# 清空集合
s = {1, 2, 3}
s.clear()
print(s)
<<<
set()
3.遍历集合
# 创建集合
my_set = {1, 2, 3}
# 遍历集合
# 由于集合是无序的 不能用索引去遍历集合
for e in my_set:
print(e)
4.集合运算
①交集 intersection
# 返回两个集合均有的元素
s = {1, 2, 3}
s1 = {1, 2, 3, 4, 5, 6}
s2 = s.intersection(s1)
print(s2)
<<<
{1, 2, 3}
②并集 union
# 返回两集合内所有种类元素 不重复
s = {1, 2, 3}
s1 = {1, 2, 3, 4, 5, 6}
s2 = s1.union(s)
print(s2)
<<<
{1, 2, 3, 4, 5, 6}
③差集 difference
# 返回 s1 内独有的元素 集合 s 中没有
s = {1, 2, 3}
s1 = {1, 2, 3, 4, 5, 6}
s2 = s1.difference(s)
print(s2)
<<<
{4, 5, 6}