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

如何利用旧字典列表的值创建指定格式的新字典列表?

解决方案

你可以利用Python字典的值序列结合列表推导式快速实现需求,核心思路是提取每个原字典的两个值,将第一个值作为新字典的键,第二个值作为对应的值。

代码实现

首先定义原始数据:

old_list_of_dicts = [
    {'vid': 'transpower_036', 'name': '221_02_PB_520_REF_174050'},
    {'vid': 'transpower_065', 'name': '222_05_KAL_T2E_YT_344991'},
    {'vid': 'transpower_156', 'name': '226_02_INTL_PRSTR_ET_499802'},
    {'vid': 'transpower_162', 'name': '226_FL01_KAL_DCE_FL_050232'},
    {'vid': 'transpower_157', 'name': '226_FL02_KAL_DCE_FL_050234'},
    {'name': '226_FL03_KAL_DCE_FL_050233', 'vid': 'transpower_163'},
    {'vid': 'transpower_159', 'name': '226_XX_INTL_PRSTR_ET_499801'},
    {'vid': 'transpower_161', 'name': '226_XX_KAL_T2E_YT_346321'}
]

生成目标列表的两种简洁写法:

写法1:列表推导式+值序列转换

new_list_of_dicts = [ {list(d.values())[0]: list(d.values())[1]} for d in old_list_of_dicts ]

写法2:利用dict()构造函数简化

new_list_of_dicts = [ dict([d.values()]) for d in old_list_of_dicts ]

说明

  • 上述代码依赖Python 3.7及以上版本的特性:字典会保留键的插入顺序,因此d.values()返回的序列顺序和原字典中键的顺序一致,刚好匹配你需要的键值对应关系。
  • 运行后得到的new_list_of_dicts完全符合你给出的目标格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 22:01:16