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

如何让Python的dict函数对变量求值而非当作字面量?

问题解决:让字典键使用变量值而非字面量

你遇到的问题是因为Python中dict()函数的关键字参数语法会把参数名直接当作字符串字面量,不会去解析同名变量。要实现用变量TEST_KEY的值作为字典键,有两种简单的方法:

方法1:使用字典字面量(推荐)

直接用方括号包裹变量作为键,这是Python中创建带变量键字典的标准写法:

TEST_KEY = "test_key"

def get_dict():
    return {TEST_KEY: "test_value"}

print(get_dict())  # 输出: {'test_key': 'test_value'}

方法2:通过解包传递给dict()函数

如果一定要用dict()函数,可以先创建一个包含变量键的字典,再用**解包语法传入:

TEST_KEY = "test_key"

def get_dict():
    return dict(**{TEST_KEY: "test_value"})

print(get_dict())  # 输出: {'test_key': 'test_value'}

为什么原代码不行?

当你写dict(TEST_KEY="test_value")时,Python会把TEST_KEY这个参数名直接转成字符串"TEST_KEY"作为键,不会去查找你定义的同名变量。这是关键字参数的设计规则——参数名本身就是字面量,无法被解析为变量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 07:05:21