# GESP等级：三级 | GESP Python 三级考点

"""
知识点⑤：pop() 随机弹出一个元素
时间：10:00-30:00
注意：集合是无序的，所以 pop() 弹出哪个元素是随机的！
"""

# ========== pop() 随机弹出一个元素 ==========
nums = {10, 20, 30, 40, 50}
print("原始集合:", nums)

popped = nums.pop()
print(f"弹出了: {popped}")
print("剩余集合:", nums)

# 再试一次
popped2 = nums.pop()
print(f"又弹出了: {popped2}")
print("剩余集合:", nums)

# ========== pop() 空集合会报错 ==========
empty_set = set()
try:
    empty_set.pop()
except KeyError as e:
    print(f"空集合pop报错: {e}")

# ========== pop() 实用场景 ==========
# 随机处理任务队列（去重后）
tasks = {"任务A", "任务B", "任务C", "任务D"}
print("\n随机处理任务：")
while tasks:
    task = tasks.pop()
    print(f"  处理: {task}")
print("所有任务处理完毕！")

"""
记忆钩子：
  pop随机弹 —— 像抽盲盒，弹出哪个是哪个
  集合空了还pop → 报错！
"""
