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

Python中如何向嵌套字典的指定键追加值而不影响其他键?

问题原因

你使用dict.fromkeys()时,第二个参数传入的是同一个字典对象{"Min":[], "Max":[], "Avg":[]},字典里的所有键("A"、"B")都共享这个对象的引用。所以不管你修改哪个键对应的子字典,本质上都是在修改同一个底层对象,自然所有键的子字典都会同步变化。

解决办法

要让每个键对应独立的子字典,需要给每个键单独创建全新的字典对象,推荐用字典推导式实现:

myList = ["A", "B"]
newDict = {key: {"Min":[], "Max":[], "Avg":[]} for key in myList}

此时执行追加操作:

newDict["B"]["Avg"].append(111)
print(newDict)

输出结果会符合预期:

{'A': {'Min': [], 'Max': [], 'Avg': []}, 'B': {'Min': [], 'Max': [], 'Avg': [111]}}

你也可以用循环逐个添加键值对,效果完全一致:

myList = ["A", "B"]
newDict = {}
for key in myList:
    newDict[key] = {"Min":[], "Max":[], "Avg":[]}

这样每个键对应的子字典都是独立的新对象,修改其中一个不会影响其他键的子字典。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 07:27:14