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

如何通过字符串变量作为字典键获取对应值?代码问题咨询

问题分析与解决

嘿,问题出在你定义currency的方式上!你现在把currency设成了一个列表(['USD']),但字典offer的键是字符串类型的'USD'——字典的键必须和你传入的类型完全匹配,用列表当键去查自然找不到对应的项,会直接触发KeyError。

另外还要提个小细节:你代码里offer里的0,50应该是笔误,要改成0.50(小数点),不然会变成一个元组(0, 50),和你期望的数值不符。

两种修正方案

方案1:把currency改成字符串类型

这是最直接的方式,既然你要的是单个键,直接把currency定义为字符串就行:

offer = {'USD': [0.12, 0.15, 0.20, 0.50]}
currency = 'USD'  # 这里改成字符串,不是列表
print(offer[currency])

运行后就能得到你想要的输出:[0.12, 0.15, 0.20, 0.50]

方案2:如果currency必须是列表(比如业务场景限制)

如果因为某些原因currency只能是列表(比如从接口/文件读取的就是列表格式),那你可以取列表的第一个元素来当键:

offer = {'USD': [0.12, 0.15, 0.20, 0.50]}
currency = ['USD']
print(offer[currency[0]])  # 通过索引[0]取出列表里的字符串'USD'

这样也能正确拿到对应的值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:39:02