1.添加元素
在 Python 中,向 set 添加一个元素可以使用 add() 方法。如果添加的元素已经存在于 set 中,add() 不会重复添加(因为 set 具有自动去重的特性)。
- 方法 1:
add(element)(添加单个元素) 
my_set = {1, 2, 3}
my_set.add(4)   # 添加元素 4
print(my_set)   # 输出: {1, 2, 3, 4}
my_set.add(2)   # 尝试添加已存在的元素 2
print(my_set)   # 输出: {1, 2, 3, 4}(不会重复添加)
 
- 方法 2:
update(iterable)(添加多个元素)如果要从 可迭代对象(如list、tuple、set)中添加多个元素,可以使用update(): 
my_set = {1, 2, 3}
my_set.update(3, 4, 5)   # 添加列表中的元素(自动去重)
print(my_set)   # 输出: {1, 2, 3, 4, 5} 
 
- 方法 3:
|=运算符(合并集合)也可以用|=运算符合并另一个set或可迭代对象: 
my_set = {1, 2, 3}
my_set |= {3, 4, 5}   # 相当于 my_set.update({3, 4, 5})
print(my_set)   # 输出: {1, 2, 3, 4, 5} 
 
注意事项
-  
set只能存储 不可变对象(如int、str、tuple),不能直接存储list、dict等可变对象。
 -  
- 如果尝试添加可变对象(如 
1, 2),会抛出TypeError: python my_set.add(1, 2) 报错: TypeError: unhashable type: ‘list’ 如果需要存储可变对象,可以改用frozenset或转换为tuple。 
 - 如果尝试添加可变对象(如 
 
2.删除元素
2.1删除一个元素
在 Python 中,可以使用 set 的 remove() 或 discard() 方法来删除一个元素。两者的区别在于:
remove(element):如果元素存在,则删除;如果元素不存在,会抛出KeyError异常。discard(element):如果元素存在,则删除;如果元素不存在,不会报错(静默处理)。 示例代码
my_set = {1, 2, 3, 4, 5} 
# 方法1: remove()
my_set.remove(3)   # 删除元素 3
print(my_set)     # 输出: {1, 2, 4, 5} 如果元素不存在,remove() 会报错
try:    my_set.remove(99)   # KeyError: 99
except KeyError as e:    print(f"Error: {e}") # 方法2: discard()
my_set.discard(2)   # 删除元素 2
print(my_set)       # 输出: {1, 4, 5}
my_set.discard(99)   # 元素不存在,但不会报错
print(my_set)        # 输出: {1, 4, 5} 
 
pop()随机删除一个元素并返回它:
popped_element = my_set.pop()   # 随机删除并返回一个元素
print(f"Popped: {popped_element}, Remaining: {my_set}") 
 
总结
- 确定元素存在 → 用 
remove()。 - 不确定元素是否存在 → 用 
discard()。 - 需要随机删除 → 用 
pop()。 
2.2 删除一组元素
要从 set 中快速删除 list 中的所有元素,可以使用 set 的 difference_update() 方法,或者直接用 -= 运算符。这两种方法都会直接修改原 set,删除所有在 list 中存在的元素。
- 方法 1:
difference_update() 
my_set = {1, 2, 3, 4, 5}
to_remove =[2, 3, 6] # 6 不在 set 中,会被忽略
my_set.difference_update(to_remove)   # 直接修改原 set
print(my_set)   # 输出: {1, 4, 5} 
 
- 方法 2:
-=运算符(推荐) 
my_set = {1, 2, 3, 4, 5}
to_remove = [2, 3, 6]
my_set -= set(to_remove)   # 相当于 my_set = my_set - set(to_remove)
print(my_set)   # 输出: {1, 4, 5}