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

Python中如何将字典列表转换为自定义Person类的对象列表

实现方案说明

首先明确:遍历列表逐个构造是底层必然执行的逻辑,但你不需要手写完整的for循环控制逻辑,有更简洁的实现方式。

前置准备:自定义Person类示例

首先给出基础的Person类定义参考:

class Person:
    def __init__(self, Name, Age, Role):
        self.name = Name
        # 可选:将API返回的字符串类型年龄转为数值
        self.age = int(Age)
        self.role = Role

如果你的类字段较多,还可以用dataclass简化定义,无需手动写构造方法:

from dataclasses import dataclass

@dataclass
class Person:
    Name: str
    Age: str
    Role: str

最简实现方案:列表推导式

直接用列表推导式+字典解包即可一行完成转换,是最常用的写法:

# api_response就是你从接口拿到的字典列表
person_instance_list = [Person(**item) for item in api_response]

这里**item会自动把字典的键值对作为命名参数传给Person类的构造方法,前提是字典的键名和构造方法的参数名完全一致。

如果键名和参数名不匹配,可以手动做字段映射:

person_instance_list = [
    Person(
        name=item['Name'],
        age=int(item['Age']),
        role=item['Role']
    ) for item in api_response
]

可选方案:map函数

如果你偏好函数式写法,可以用map实现:

person_instance_list = list(map(lambda x: Person(**x), api_response))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:45:02