Как я могу преобразовать список словаря (в json) в объекты в python? - PullRequest
0 голосов
/ 17 апреля 2020

Например: у меня есть что-то вроде этого a=[{'id':1,'rating':123,'handle':'roshan'},{'id':2,'rating':423,'handle':'tippi'}] (может быть больше двух). Есть ли способ организовать такой тип данных в python?

1 Ответ

2 голосов
/ 17 апреля 2020

Если вы просто хотите преобразовать это в объект со свойствами с тем же именем, я бы порекомендовал использовать namedtuple, так как он обеспечивает наименьшее трение, и вы можете просто выбросить в него содержимое вашего dict, используя двойной оператор-звезда.

Пример:

from collections import namedtuple

for data in [
    {'id': 1, 'rating': 123, 'handle': 'roshan'},
    {'id': 2, 'rating': 423, 'handle': 'tippi'}
]:
    Object = namedtuple("Object", ["id", "rating", "handle"])
    obj = Object(**data)
    print(obj.id, obj.rating, obj.handle)

Подробнее о именованных кортежах см. в документации https://docs.python.org/3/library/collections.html#collections. namedtuple

...