一,集合的定义
1.方式一,{1,2,3....}
s0 = {1, 2, 3, 4, 5}
print(s0, type(s0))
# 方式一
# 花括号里面放入元素 缺点:不能定义一个空集合
2.方式二,set( )
s1 = set()
print(s1, type(s1))
# 定义一个空集合
s2 = set(range(10))
print(s2, type(s2))
# 方式二
# set(iterable)将可迭代类型中的元素依次放入集合
二,集合的特性
1.不重复
可以用于去重
2.无序
不可以使用下标
3.可以用for去遍历
for e in {1,3,4,5}:
将集合中的每一个元素依次赋予e
三,集合的常见操作
add | 添加指定元素到集合中 |
update | 合并一个新的集合到原始集合 |
# 增加元素
s3 = {1, 3, 5}
s3.add(7)
print(s3)
s4 = {2, 4}
s3.update(s4)
print(s3)
pop | 任意删除一个 返回删除的元素 |
remove | 删除指定元素 不存在则报错 |
discard | 删除一个元素 不存在不报错 |
clear | 清空集合 返回一个空集合 ‘’ set()‘’ |
# 删减
# 随机删除任意一个值,并返回
i = s3.pop()
print(i, s3, '------------')
# 删除指定值,如果不再就报错
s3.remove(3)
print(s3)
# 删除指定值,找不到不会报错
s3.discard(4)
print(s3)
# 清空集合 返回一个set()
s3.clear()
print(s3)
intersection | 交集 两者都有 |
union | 并集 一方有即可 |
difference | 差集 自己有,别人没有 |
# 定义两个集合
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
# 求交集
intersection = set1.intersection(set2)
print("交集:", intersection)
# 求并集
union = set1.union(set2)
print("并集:", union)
# 求差集
difference = set1.difference(set2)
print("差集(set1 - set2):", difference)
difference = set2.difference(set1)
print("差集(set2 - set1):", difference)
交集: {4, 5}
并集: {1, 2, 3, 4, 5, 6, 7, 8}
差集(set1 - set2): {1, 2, 3}
差集(set2 - set1): {8, 6, 7}