You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何实现从用户端输入字典列表 代码出现字典覆盖重复如何解决

问题原因

Python中的字典是可变对象,你在循环外部仅初始化了一次字典d,后续每次循环都是在修改同一个字典对象的键值,而append(d)操作实际是把同一个字典的引用添加到列表里,最终列表里所有元素都指向内存中的同一个字典,所以会全部显示最后一次输入的内容。

修复方案

每次循环都重新创建一个新的字典对象即可,修改后代码如下:

name_lists = []
flag = ""
while flag != "N":
    # 每次循环初始化新的空字典
    d = {}
    d["name"] = input("输入名字:")
    d["surname"] = input("输入姓氏:")
    d["patronmic"] = input("输入父称:")
    d["id_number"] = input("输入员工工号:")
    name_lists.append(d)
    flag = input("是否继续输入数据?Y/N:")
print(name_lists)

如果需要保留原英文输入提示,仅将d = {}移动到循环内部即可正常运行。

内容的提问来源于stack exchange,提问作者Muhammadamin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 18:15:03