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

如何将defaultdict(list)嵌套列表转换为指定层级字典

解决字典层级转换问题

你的核心问题是没有遍历每个t对应的猫-鹰列表,而是直接把整个列表塞给了'cat'字段。要完成转换,需要对每个t对应的列表元素逐个处理,生成对应的cat字典。

正确代码实现

d = {
    't0': [['cat0', ['eagle0']], ['cat1', ['eagle1']]], 
    't1': [['cat2', ['eagle2', 'eagle3']]]
}

result = []
for t_key, cats_data in d.items():
    # 遍历每个猫-鹰组合,生成对应字典
    cats_list = [{'cat': cat_name, 'eagles': eagle_list} for cat_name, eagle_list in cats_data]
    # 组装当前t对应的字典并加入结果列表
    result.append({
        't': t_key,
        'cats': cats_list
    })

# 打印结果
for item in result:
    print(item)

输出结果

{'t': 't0', 'cats': [{'cat': 'cat0', 'eagles': ['eagle0']}, {'cat': 'cat1', 'eagles': ['eagle1']}]}
{'t': 't1', 'cats': [{'cat': 'cat2', 'eagles': ['eagle2', 'eagle3']}]}

代码说明

  • 用列表推导式遍历cats_data中的每个元素,每个元素是[猫名, 鹰列表]的结构,直接解构为cat_name和eagle_list,生成目标格式的字典。
  • 把每个t对应的字典收集到result列表中,最终得到所有转换后的结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:35:24