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

Python中如何将二维数组转换为自定义类对象数组?

把数据库返回的二维数组转为User对象列表的简单方法

作为Python新手碰到这种问题真的太常见啦,完全不用不好意思!其实根本不需要什么特殊的现成函数,用Python本身的语法就能轻松搞定,给你几种简单的方案:

1. 最简洁的列表推导式

这是Python里处理这类转换最常用的方式,一行代码就能搞定:

# 先获取数据库返回的二维数组
users_rows = get_users()
# 把每个子数组转成User对象
user_objects = [User(row) for row in users_rows]

之后你遍历user_objects的时候,直接用user.name、user.surname就可以访问属性,完全不用再记索引位置啦。

2. 更直观的循环写法

如果觉得列表推导式有点抽象,也可以用普通的for循环逐个处理,逻辑更直白:

user_objects = []
# 遍历数据库返回的每一行数据
for row in get_users():
    # 把当前行转成User对象,添加到列表里
    user_objects.append(User(row))

3. 优化你的User类(可选)

你现在的User构造函数是依赖数组索引的,万一以后数据库字段顺序变了,代码容易出问题。可以把构造函数改成直接接收三个参数,然后用解包的方式转换:

class User:
    # 直接接收name、surname、age三个参数
    def __init__(self, name, surname, age):
        self.name = name
        self.surname = surname
        self.age = age

# 转换的时候用*解包每行数据,自动匹配构造函数的参数
user_objects = [User(*row) for row in get_users()]

这种写法更清晰,也更健壮,以后维护起来更省心。

总的来说,这几种方法都很简单,完全不需要额外的库,用Python原生语法就能解决你的问题~

内容的提问来源于stack exchange,提问作者Simas Paškauskas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 16:28:10