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

Python中如何将字典列表转换为字典

Python列表转字典实现方案

你给出的是元素为字典的列表,最常用的转换方式是取列表中每个字典的唯一字段作为新字典的键,对应完整字典项作为值,具体实现如下:

前置说明

如果你的原始数据是JSON格式字符串,需要先通过json库转换成Python列表:

import json
raw_json = '''[{"id":0,"test":null,"number":0,"range":111028}, 
 {"id":2,"test":null,"number":0,"range":110931}, 
 {"id":3,"test":null,"number":0,"range":64222}]'''
source_list = json.loads(raw_json)

转换后JSON里的null会自动变成Python对应的None类型。

方法1:字典推导式(最简洁,Python2.7及以上版本都支持)

以id字段作为键举例:

result_dict = {item["id"]: item for item in source_list}

转换后得到的结果为:

{
  0: {"id":0,"test":None,"number":0,"range":111028},
  2: {"id":2,"test":None,"number":0,"range":110931},
  3: {"id":3,"test":None,"number":0,"range":64222}
}

方法2:循环遍历赋值(兼容性更强,方便扩展逻辑)

如果需要加去重、过滤等额外逻辑,可以用普通循环实现:

result_dict = {}
for item in source_list:
    # 可自行添加判断逻辑,比如跳过没有id字段的项
    if "id" in item:
        result_dict[item["id"]] = item

注意:如果选作键的字段存在重复值,后面的项会自动覆盖前面的项,选键前请确认该字段在所有子字典中是唯一的。如果需要用其他字段作为键,只要把代码里的item["id"]换成对应的键名即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 16:45:03