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

如何将字典指定值转为键并构建含后续值的嵌套字典

字典结构转换实现方案

针对你给出的字典转换需求,这里提供直观的Python实现方法,适合刚接触字典结构的学习者理解:

需求回顾

原字典:

d = {'a': 'aa', 'b': 'bb', 'c': 'cc', 'x':111, 'y': 222, 'z':333}

目标字典:

d2 = {'a': 'aa', 'b': 'bb', 'cc':{ 'x':111, 'y': 222, 'z':333}}

核心要求:将指定key(此处为'c')的value作为新key,该key之后的所有键值对作为新key对应的嵌套字典,同时保留指定key之前的键值对。

实现代码

d = {'a': 'aa', 'b': 'bb', 'c': 'cc', 'x':111, 'y': 222, 'z':333}
target_key = 'c'  # 这里可以替换成你需要的指定key

# 将字典转为有序键值对列表(Python 3.7+ 字典默认有序)
items_list = list(d.items())

# 定位指定key的位置
split_index = None
for idx, (key, val) in enumerate(items_list):
    if key == target_key:
        split_index = idx
        break

# 构建目标字典
d2 = {}
# 添加指定key之前的所有键值对
for key, val in items_list[:split_index]:
    d2[key] = val
# 提取新的嵌套key,并将后续键值对转为嵌套字典
nested_key = items_list[split_index][1]
d2[nested_key] = dict(items_list[split_index+1:])

print(d2)

代码说明

  • Python 3.7及以后版本的字典默认保持插入顺序,因此可以通过items()获取有序的键值对列表,这是实现的基础。
  • 遍历列表找到指定key的索引,以此为分割点,将原字典拆分为三部分:指定key之前的内容、指定key的value(作为新嵌套key)、指定key之后的内容(作为嵌套字典)。
  • 最后将这三部分组合成目标字典即可,无论后续值是整数还是浮点数,都能正常处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 20:55:19