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

如何修改字典所有键并输出指定格式的YAML内容

问题描述

想要实现将字典的所有键修改为<@原键名>的形式,使得YAML输出符合目标格式,示例代码如下:

import yaml
original_dict = {"test1":1,"test2":2,"test3":3}
print(yaml.dump(original_dict, sort_keys=False, default_flow_style=False))

# 输出
# test1: 1
# test2: 2
# test3: 3

# 执行更新操作后

print(yaml.dump(original_dict, sort_keys=False, default_flow_style=False))

# 期望输出
# <@test1>: 1
# <@test2>: 2
# <@test3>: 3
解决方案

方法1:创建新字典(推荐,不修改原数据)

通过字典推导式生成一个键格式修改后的新字典,原字典保持不变:

import yaml
original_dict = {"test1":1,"test2":2,"test3":3}
# 生成键格式为<@原键名>的新字典
updated_dict = {f"<@{key}>": value for key, value in original_dict.items()}
print(yaml.dump(updated_dict, sort_keys=False, default_flow_style=False))

执行后输出:

<@test1>: 1
<@test2>: 2
<@test3>: 3

方法2:原地修改原字典

如果不需要保留原字典的数据,可以直接在原字典上修改键名:

import yaml
original_dict = {"test1":1,"test2":2,"test3":3}
# 遍历原字典的键(转成列表避免遍历过程中修改字典引发错误)
for key in list(original_dict.keys()):
    value = original_dict.pop(key)
    original_dict[f"<@{key}>"] = value
print(yaml.dump(original_dict, sort_keys=False, default_flow_style=False))

执行后同样会输出符合要求的YAML内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 16:55:16