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

Python字典键值重定义报错:如何用变量添加键值对?

问题:使用变量为字典添加键值对时出错

用户编写的Python代码无法运行,想了解如何用变量给字典添加键值对,代码如下:

BTC_ = {"Name": "BTC", "liq": 57000}
ETH_ = {"Name": "ETH", "liq": 50000}

BTC = BTC_['liq']
ETH = ETH_['liq']

ETHp = ETH / 50000
BTCp = BTC / 50000

BTC_.update['price': BTCp ]
ETH_.update['price': ETHp ]

报错信息:

builtin_function_or_method object is not subscriptable
翻译:内置函数或方法对象不可下标访问


解决方法

错误原因

你调用字典的update()方法时用了方括号[],但update是一个函数,必须用圆括号()传递参数,且参数需要是字典格式。

修正后的代码

BTC_ = {"Name": "BTC", "liq": 57000}
ETH_ = {"Name": "ETH", "liq": 50000}

BTC = BTC_['liq']
ETH = ETH_['liq']

ETHp = ETH / 50000
BTCp = BTC / 50000

# 正确调用update方法,传递字典参数
BTC_.update({"price": BTCp})
ETH_.update({"price": ETHp})

# 查看结果
print(BTC_)  # 输出: {'Name': 'BTC', 'liq': 57000, 'price': 1.14}
print(ETH_)  # 输出: {'Name': 'ETH', 'liq': 50000, 'price': 1.0}

更简洁的方式:直接下标赋值

如果只是添加单个键值对,不需要用update(),直接通过字典下标赋值更简单:

# 直接给新键赋值
BTC_['price'] = BTCp
ETH_['price'] = ETHp

这种方式直接为字典的新键price绑定变量值,代码更直观。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 12:03:21