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

如何在Python中修改字典数字类键的键名(添加xx_前缀)

解决Python字典数字形式键的重命名需求

嘿,这个需求很明确,用Python的字典推导式就能轻松搞定,这也是最简洁的实现方式了。

思路说明

你的原字典里数字形式的键是字符串类型(比如"100"),我们可以用str.isdigit()方法判断键是否由纯数字组成。通过字典推导式一次性生成新字典,既简洁又能避免遍历原字典时修改它可能带来的问题。

最简实现代码

test = {"100":271,"updated_at":{"date":"2017-10-14T12:15:52.172Z"},"created_at":{"date":"2017-10-14T12:15:52.172Z"}}

# 用字典推导式生成重命名后的新字典
test_renamed = {f"xx_{key}" if key.isdigit() else key: value for key, value in test.items()}

# 验证结果
print(test_renamed)

运行这段代码后,输出的新字典会是:

{'xx_100': 271, 'updated_at': {'date': '2017-10-14T12:15:52.172Z'}, 'created_at': {'date': '2017-10-14T12:15:52.172Z'}}

可选:直接修改原字典

如果你的需求是直接修改原字典而不是生成新字典,可以这么做(需要先把原键转成列表,避免遍历过程中字典结构变化报错):

test = {"100":271,"updated_at":{"date":"2017-10-14T12:15:52.172Z"},"created_at":{"date":"2017-10-14T12:15:52.172Z"}}

# 遍历原键的列表副本,修改原字典
for key in list(test.keys()):
    if key.isdigit():
        test[f"xx_{key}"] = test.pop(key)

print(test)

不过更推荐字典推导式的方式,代码更简洁易读,也不会影响原字典(如果后续还需要用到原数据的话)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 07:49:51