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

如何在Python字典中为每个项插入新键并嵌套原有值?

问题

现有如下字典:

dict1={
       'item1': 
         {'result': 
           [{'val': 228, 'no': 202}]
         }, 
       'item2': 
         {'result':   
           [{'value': 148, 'year': 201}]
         } 
      }

需要为每个item插入新键category,将原结构键:值转换为键:新键:值,最终输出如下:

output={
       'item1': 
        {'category': 
          {'result': 
           [{'val': 228, 'no': 202}]
          }
        }, 
       'item2': 
       {'category':  
         {'result': 
           [{'value': 148, 'year': 201}]
         }
       }
       }

尝试过dict1['item1']['category1']的方式,但只是添加了新键值对,未达到预期效果。

解决方案

你需要把每个item对应的原有值,重新包装成一个以category为键的新字典,再赋值给原item键。这里提供两种可行方法:

方法一:直接修改原字典

遍历原字典的所有键,将每个键对应的原有值替换为包含category的新字典:

for key in dict1:
    original_value = dict1[key]
    dict1[key] = {'category': original_value}

执行这段代码后,dict1就会变成你需要的结构。

方法二:生成新字典(保留原字典)

如果不想改动原字典,可以用字典推导式快速生成目标结构的新字典:

output = {key: {'category': value} for key, value in dict1.items()}

这个推导式会遍历原字典的每一组键值对,把值包装进{'category': value}后,作为新字典对应键的值。

你之前的操作dict1['item1']['category1']是在原item的子字典里新增键值对,而不是把整个子字典作为category的值,所以无法得到预期的嵌套结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 19:06:28