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

Python如何实现字典不存在则创建、存在则直接更新?

解决方案

方法1:全局命名空间兜底(最简洁)

直接借助globals()获取当前全局环境的变量,不存在就用空字典兜底,再和函数返回的字典合并:

my_dict = globals().get('my_dict', {}) | function_return_dict(arg1, arg2)

原理:globals().get('my_dict', {})会先查找全局变量里的my_dict,找不到就返回空字典,再用|运算符合并两个字典,最后赋值回my_dict——不管之前有没有这个变量,都能完成创建或更新。

方法2:先初始化再用|=更新

如果偏好|=的写法,可以先判断变量是否存在,不存在就初始化,再执行更新:

if 'my_dict' not in globals():
    my_dict = {}
my_dict |= function_return_dict(arg1, arg2)

想压缩成一行的话,也可以这么写:

my_dict = {} if 'my_dict' not in globals() else my_dict; my_dict |= function_return_dict(arg1, arg2)

方法3:海象运算符一步到位(Python 3.8+)

如果你的Python版本在3.8及以上,还能用海象运算符一次性完成检查、初始化和更新:

(my_dict := globals().get('my_dict', {})) |= function_return_dict(arg1, arg2)

这行代码会先把my_dict赋值为已存在的变量或空字典,紧接着执行|=更新,一步搞定。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 15:35:03