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

Python字典键值访问疑问:为何我的写法无法生效?

问题解析:Python f-string中字典键访问的两种写法差异

你的写法失效的核心原因

你写的print(f"resources{['water']}")里,{['water']}部分只是把字面量列表['water']直接转换成字符串插入到结果里,和resources字典没有任何关联——它既不会去读取resources,也不知道这是个字典键。最终输出的只是字符串拼接后的resources['water'],完全没拿到字典里的实际值。

两种写法的本质差异

  • 错误写法:f"resources{['water']}"
    占位符内是一个独立的列表字面量,作用仅仅是把['water']转成字符串(也就是'['water']')拼到主字符串里,没有执行任何字典访问逻辑。

  • 正确写法:print(f"resources['water']: {resources['water']}")
    这里的{resources['water']}是在f-string的占位符中执行了字典索引表达式:Python会先计算resources['water'],取出字典中键为'water'对应的实际值,再把这个值插入到字符串的对应位置。

举个实际例子,假设resources = {'water': 200}:

  • 错误写法的输出是:resources['water']
  • 正确写法的输出是:resources['water']: 200

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 09:39:51