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

如何向嵌套字典指定键追加多个字典且不覆盖原有数据?

解决日期餐食字典覆盖问题

你的问题核心是直接赋值meal_data[date] = current_meal会覆盖该日期原有的餐食字典,要实现不覆盖、追加新餐食的需求,只需要先判断日期是否已存在,再选择更新或新增操作:

修改后的代码

date = input("Enter the date in (Day-Month-Year) format: ")
name = input("Enter the name of the meal: ")

# 检查日期是否已存在于meal_data中
if date in meal_data:
    # 存在则直接在原有字典里添加新餐食
    meal_data[date][name] = (total_calories, total_protein)
else:
    # 不存在则创建新字典并添加
    meal_data[date] = {name: (total_calories, total_protein)}

代码说明

  • 当输入的日期已经在meal_data里时,直接通过meal_data[date][name]给该日期对应的字典新增键值对,不会覆盖原有内容
  • 当日期不存在时,才创建新的字典并赋值给meal_data[date]

比如现在meal_data已有{'23-07-2024': {'Smoothie': (245.0, 17.0)}},如果输入日期23-07-2024和餐食名Lunch,执行后meal_data会变成:

{'23-07-2024': {'Smoothie': (245.0, 17.0), 'Lunch': (xxx, xxx)}}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 16:22:02