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

如何给Python字典的所有键添加前缀?

问题解决方法

你的代码存在两个核心问题,导致运行报错:

  1. 遍历字典时未调用items()方法,直接遍历字典只会返回键,无法同时解包出k和v,会触发ValueError;
  2. 你把lambda函数本身当作了字典的键,而不是执行lambda函数生成带前缀的新键名。

下面是几种正确的实现方式:

推荐写法:简洁的字典推导式

直接用f-string拼接前缀和原键名,代码清晰高效:

original = {'lastname':'John', 'fistname':'Doe', 'id':'xxxxx'}
modified = {f'contact_{k}': v for k, v in original.items()}

如果非要用lambda的正确写法

先定义lambda函数,再在推导式里调用它处理键:

original = {'lastname':'John', 'fistname':'Doe', 'id':'xxxxx'}
add_prefix = lambda k: f'contact_{k}'
modified = {add_prefix(k): v for k, v in original.items()}

也可以直接在推导式内执行lambda(不推荐,可读性较差):

modified = {(lambda k: f'contact_{k}')(k): v for k, v in original.items()}

另一种实现:生成器表达式转字典

modified = dict((f'contact_{k}', v) for k, v in original.items())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 11:57:05