
本文详解如何从字典中读取用户输入的键、输出对应值,并立即删除该键值对,避免重复输入导致的逻辑错误,确保字典状态实时更新。
在处理类似酒店房间与客人映射的场景时,常需根据房间号(键)快速查出客人姓名(值),并在操作后从数据结构中移除该记录。关键在于:只读取一次用户输入,并复用该值完成查询与删除两个操作——否则第二次调用 input() 会等待新输入,导致程序行为异常(如示例中因二次输入未提供而实际未删除)。
以下为正确实现:
room_guest_pairs = {339: 'Sue', 238: 'Eli'}
# 读取房间号(转为整数),仅执行一次
room_number = int(input())
# 根据房间号获取并打印客人姓名
print(room_guest_pairs[room_number])
# 使用同一变量删除该键值对
del room_guest_pairs[room_number]
print('Remaining pairs:')
print(room_guest_pairs)✅ 运行效果(输入 238):
Eli
Remaining pairs:
{339: 'Sue'}⚠️ 注意事项:
立即学习“Python免费学习笔记(深入)”;
- 不要对 input() 调用多次(如 room_guest_pairs[int(input())] 后再 int(input())),这会导致程序卡住或误删其他项;
- 使用 del dict[key] 比 dict.pop(key) 更简洁(除非你需要捕获被删除的值);
- 若需健壮性(防止输入不存在的房间号),可添加 if room_number in room_guest_pairs: 判断,避免 KeyError。
掌握“一次输入、多处复用”这一原则,是编写可靠字典操作逻辑的基础。










