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

如何在字典中创建嵌套字典并为现有值指定对应键?

字典转换为嵌套字典的实现方法

原字典结构:

original_dict = {
    'Salmon:': ['150.7,', 'False'], 
    'Carrot:': ['30.5,', 'True']
}

目标结构:

target_dict = {
    'Salmon': {'nutritional_value': 150.7, 'vegan': False},
    'Carrot': {'nutritional_value': 30.5, 'vegan': True}
}

快速实现(字典推导式)

用一行推导式即可完成转换,高效简洁:

original_dict = {
    'Salmon:': ['150.7,', 'False'], 
    'Carrot:': ['30.5,', 'True']
}

converted_dict = {
    key.rstrip(':'): {
        'nutritional_value': float(val[0].rstrip(',')),
        'vegan': val[1] == 'True'
    }
    for key, val in original_dict.items()
}

print(converted_dict)

分步实现(循环写法,适合新手理解)

如果需要更清晰的步骤拆分,用普通循环实现:

original_dict = {
    'Salmon:': ['150.7,', 'False'], 
    'Carrot:': ['30.5,', 'True']
}

converted_dict = {}
for key, value in original_dict.items():
    # 移除键名末尾的冒号
    new_key = key.rstrip(':')
    # 移除营养值字符串末尾的逗号并转为浮点数
    nutritional_val = float(value[0].rstrip(','))
    # 将字符串形式的布尔值转为Python原生布尔类型
    vegan_status = value[1] == 'True'
    # 构建嵌套字典并添加到新字典中
    converted_dict[new_key] = {
        'nutritional_value': nutritional_val,
        'vegan': vegan_status
    }

print(converted_dict)

关键处理点说明

  • 键名清理:通过rstrip(':')移除原键末尾的多余冒号,得到干净的食材名称
  • 数值转换:先清理营养值字符串的逗号,再用float()转为数值类型,满足后续计算需求
  • 布尔值转换:通过字符串比较将'True'/'False'转为Python原生的True/False,符合布尔类型的使用规范

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 04:15:18