Преобразование массива массивов в массив классов Python - PullRequest
0 голосов
/ 09 мая 2020

Я знаю, что это основной c вопрос, но я новичок в 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.name вместо user [0]). Есть ли для этого функция или я должен go бросить каждый элемент в массив и преобразовать его в объект класса?

1 Ответ

2 голосов
/ 09 мая 2020

Использование 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...