Python 中的集合(set)是一种非常有用的数据结构,它可以用来存储不重复的元素集合。以下是集合的一些常见操作:
创建集合
# 创建一个空集合
empty_set = set()
# 创建一个带有初始值的集合
some_set = {1, 2, 3, 4, 5}
添加元素
# 添加一个元素
some_set.add(6)
# 添加多个元素
some_set.update([7, 8, 9])
删除元素
# 删除一个元素,如果元素不存在会抛出 KeyError
some_set.remove(9)
# 删除一个元素,如果元素不存在不会抛出错误
some_set.discard(8)
# 随机删除并返回一个元素
some_set.pop()
集合运算
# 交集
A = {1, 2, 3, 4}
B = {3, 4, 5, 6}
intersection = A & B # 或 A.intersection(B)
# 并集
union = A | B # 或 A.union(B)
# 差集(在 A 中不在 B 中)
difference = A - B # 或 A.difference(B)
# 对称差集(在 A 或 B 中,但不同时在两者中)
symmetric_difference = A ^ B # 或 A.symmetric_difference(B)
其他操作
# 检查是否是子集
A.issubset(B) # 或 A <= B
# 检查是否是超集
A.issuperset(B) # 或 A >= B
# 检查是否有交集
A.isdisjoint(B)
遍历集合
for element in some_set:
print(element)
判断元素是否存在
if 3 in some_set:
print("3 is in the set")
else:
print("3 is not in the set")
集合是高度优化的,对于成员检查和消除重复元素这样的操作非常高效。不过,集合中的元素必须是可哈希的,也就是说,集合中的元素必须是不可变类型,比如整数、浮点数、字符串、元组等。
实操
s = {10, 20, 30}
# 向集合中添加元素
s.add(100)
print(s)
# 删除元素
s.remove(20)
print(s)
# 清空集合中的所有元素
# s.clear()
# print(s)
# 集合的遍历操作
for item in s:
print(item)
for index,it in enumerate(s, start=10):
print(index, '--->', item)
# 集合的生成式
s = {i for i in range(1, 10)}
print(s)
s = {i for i in range(1, 10) if i % 2 == 1}
print(s)
658

被折叠的 条评论
为什么被折叠?



