删除元素:4种方法
17.4 删除元素:4种方法
remove(元素):删除指定元素,不存在则报错。
discard(元素):删除指定元素,不存在不报错,更安全。
pop():随机删除一个元素,返回被删除的元素;空集合报错。
clear():清空集合所有元素,保留空集合对象。
💡 不确定元素是否存在时用 discard,想删除并获取返回值用 pop()。
remove 和 discard 的区别
discard 比 remove 更安全,不确定元素是否存在时用 discard。
s = {1, 2, 3, 4, 5} # 创建集合
s.remove(3) # 删除元素 3
print("remove删除3:", s)
s.discard(99) # 元素99不存在,不报错
s.discard(2) # 删除元素 2
print("discard删除2:", s)
pop() 和 clear()
pop() 返回被删除的元素;clear() 只清空元素,集合对象保留。
s = {1, 2, 3, 4, 5} # 创建集合
del_num = s.pop() # pop() 随机删除一个元素,返回被删除的值
print("pop随机删除元素:", del_num)
print("剩余集合:", s)
s.clear() # 清空集合所有元素
print("clear清空集合:", s)
⚠️ 常见错误与正确对比
❌ 错误写法
s.remove(99)
✅ 正确写法
s.discard(99)
📌 remove 删除不存在的元素会报 KeyError,应改用 discard。
❌ 错误写法
empty_set.pop()
✅ 正确写法
if s: s.pop()
📌 空集合调用 pop() 会报 KeyError,应先判断非空。
