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

如何将嵌套字典按指定键转换为列表(以'20'为标识)

解决嵌套字典转指定标识列表的问题

没问题,我来帮你搞定这个转换需求。你的目标是从嵌套字典里提取所有以'20'为键的对应值,再把'20'本身作为第一个元素组成列表对吧?

这里有个简洁的Python实现方案,完全符合你的需求:

首先定义你的原始数据字典:

data = {
    'Name': {'20': 'Paul Merrill', '21': 'Brynne S. Barr'},
    'Phone': {'20': '1-313-739-3854', '21': '939-4818'},
    'Address': {'20': '916-8087 Vehicula Rd.', '21': '878-2231 Suspendisse Rd.'},
    'City': {'20': 'Le Mans', '21': 'Wilhelmshaven'}
}

然后执行转换逻辑:

target_id = '20'
# 初始化列表,先把标识'20'放进去
result_list = [target_id]

# 遍历每个字段对应的内层字典,提取target_id对应的值
for inner_dict in data.values():
    result_list.append(inner_dict[target_id])

print(result_list)

运行这段代码后,你会得到期望的输出:

['20', 'Paul Merrill', '1-313-739-3854', '916-8087 Vehicula Rd.', 'Le Mans']

逻辑解释

  • 第一步先创建结果列表,把目标标识'20'作为第一个元素;
  • 然后通过data.values()遍历外层字典的所有值(也就是每个字段的内层字典);
  • 对每个内层字典,直接用inner_dict[target_id]取出对应的值,追加到结果列表里。

额外优化(可选)

如果担心某些内层字典可能没有'20'这个键导致报错,可以改用get方法来避免KeyError,同时设置默认值(比如空字符串):

result_list.append(inner_dict.get(target_id, ''))

这样即使某个字段没有'20'的条目,代码也能正常运行,只会在对应位置填充空字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:31:41