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

如何将值为列表的Python字典转换为字典列表(不依赖第三方库)

原生Python实现方案

不需要依赖任何第三方库,用Python内置函数即可实现,以下是两种常用写法:

通用写法(支持任意数量键)

只要字典中所有值对应的列表长度一致,不管有多少个键都可以直接使用:

my_dict = {'index':[1,2,3], 'answer':['A','D','B']}
result = [dict(zip(my_dict.keys(), vals)) for vals in zip(*my_dict.values())]

运行后result的输出即为目标格式:

[{'index': 1, 'answer': 'A'}, {'index': 2, 'answer': 'D'}, {'index': 3, 'answer': 'B'}]

实现逻辑说明:

  • zip(*my_dict.values())会将字典中所有值列表按位置配对,示例中会生成(1, 'A')、(2, 'D')、(3, 'B')三组元组
  • zip(my_dict.keys(), vals)将字典的键和当前位置的对应值配对,转成字典即为单条结果
  • 列表推导遍历所有配对元组,最终得到完整的字典列表
    如果使用Python 3.10及以上版本,可以给zip添加strict=True参数,当值列表长度不一致时会直接抛出异常,避免静默截断导致数据错误:
result = [dict(zip(my_dict.keys(), vals)) for vals in zip(*my_dict.values(), strict=True)]

固定键简化写法

如果明确字典的键固定为index和answer,可以写得更直白易懂:

result = [{'index': i, 'answer': a} for i, a in zip(my_dict['index'], my_dict['answer'])]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 10:06:03