Задать вопрос
Starck43
@Starck43
Full-stack разработчик (Python, React)

Как преобразовать словарь в список с объединением по полю?

Есть словарь:
[{'group': 'style', 'name': 'Классика'}, {'group': 'style', 'name': 'Модерн'}, {'group': 'type', 'name': '2-х комнатная квартира'}]


Мне надо создать список из двух объединенных групп: 'style' и 'type' и вывести в цикле их по отдельности.
Хочу получить следующее:
<ul class="style-group">
    <li>Классика</li>
    <li>Модерн</li>
</ul>
<ul class="type-group">
    <li>2-х комнатная квартира</li>
</ul>


Как правильно это сделать? Спасибо
  • Вопрос задан
  • 86 просмотров
Подписаться 1 Простой 4 комментария
Решение пользователя Wispik К ответам на вопрос (2)
Wispik
@Wispik
from itertools import groupby

test_list = [{'group': 'style', 'name': 'Классика'}, {'group': 'style', 'name': 'Модерн'}, {'group': 'type', 'name': '2-х комнатная квартира'}, {'group': 'style', 'name': 'Модерн'}]

keyfunc = lambda x:x['group']
res = [list(data) for _, data in groupby(sorted(test_list, key=keyfunc), key=keyfunc)]
Ответ написан