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

调用list.append()为何会自动更新字典值?

为什么字典自动更新了?

这是因为列表是可变对象,你代码里的操作本质是直接修改了字典中存储的列表本身:

  • 当执行 list_tmp = fruits.get("green") 时,list_tmp 并没有生成新列表,而是直接指向原字典 fruits 里"green"对应的那个列表对象的引用。
  • 后续调用 list_tmp.append(name),是直接对这个共享的列表对象做修改,所以原字典里的列表自然会跟着变化,完全不需要调用 dict.update()。

如果不想修改原字典里的列表,可以创建列表的副本,示例代码如下:

fruits = { "green" : ["kiwi"] }

name = "avocado"    
list_tmp = fruits.get("green").copy()  # 创建列表副本
list_tmp.append(name)

print(fruits)  # 输出: {'green': ['kiwi']}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:35:29