首页 > 解决方案 > 在 Python 中将数组数组转换为类数组

问题描述

我知道这是一个基本问题,但我是 Python 新手,似乎无法找到答案。假设我的数据库中有一个用户,其中包含以下字段:姓名、姓氏、年龄。我在 Python 中创建了一个用户类:

class User:
    def __init__(self, array):
        self.name = array[0]
        self.surname = array[1]
        self.age = array[2]

当我访问我的数据库并调用用户时,我得到了数组数组。

def get_users():
    cursor.execute("SELECT * FROM `users`")
    return cursor.fetchall() #returns [[],[],[],[]...]

将数组中的每个数组放入类中的最简单方法是什么?

[User, User,User,User,...]

(所以当我迭代将元素放入 for 循环时,我可以调用 user.name 而不是 user[0])是否有一个函数或者我应该把数组中的每一个元素都扔掉并将其转换为一个类对象?

标签: pythonarraysclass

解决方案


使用map()

res =  [ ["James","Jenkinson", 23],["Alice","Madison",25]]
x = list(map(User, res))
for user in x:
    print(user.name,user.surname, user.age)

输出:

James Jenkinson 23
Alice Madison 25

推荐阅读