集合简介
集合(Set)是 Python 中一种内置的数据类型,用于存储不重复的元素集合。集合的特点包括:
无序性:集合中的元素没有固定的顺序
唯一性:集合不允许重复元素,自动去除重复的值。
可变性:集合是可变的,可以动态添加或元素
因此,集合不支持索引、嵌套,也没有切片操作,但支持更新、删除等操作,并且可进行 并集 、交集、差集 等常见的集合操作
集合的创建
sett = {10, 'a', True, None, 25, 18}
# sett = set() # 空集合
# sett={} 默认为空字典
print(sett)
类型转换
print(set([10, 20, 10])) # {10, 20} 自动去重
print(set((10, 20, 10))) # {10, 20} 自动去重
print(set('abcad')) # {'b', 'a', 'c', 'd'} 自动去重
方法
# 不可查询和修改,可以添加和删除
sett = {10, 'a', True, None, 25, 18}
集合的添加
sett.add('hello')
sett.update({11, 22}) # 合并另一个集合
集合的删除
print(sett.remove(None), '======') # 删除指定元素,没有报错
print(sett.discard(25), '=======') # 删除指定元素,没有不报错
print(sett.pop(), '=======') # 随机删除一个
print(sett)
print(sett.difference({11, 22})) # 差集
sett.difference_update({11, 22}) # 删除另一个子集
print(sett)
print(sett.intersection({10, 18})) # 交集
sett.clear() # 清空
print(sett)
print({10, 20}.issubset({10, 20, 30})) # True 判断前者是否后者的子集
集合的运算
print({10, 20} >= {10, 20}) # True
sett1 = {10, 20, 5, 6, 8}
sett2 = {15, 20, 9, 10, 8, 12}
print(sett1 & sett2) # 交集
print(sett1 | sett2) # 并集
print(sett1 - sett2) # 差集
print(sett2 - sett1) # 差集
print(sett1 ^ sett2) # 并集-交集
集合的内置函数与遍历
rint(len({10, 20, 30})) # 3
print(max({10, 20, 30})) # 30
print(sorted({10, 5, 30})) # [5, 10, 30]
# 遍历
sett = {10, 5, 8, 20, 8}
for item in sett:
print(item, end=' ')
print()