Есть ли более каноничный и красивый вариант получения списка?

пусть

icons = [{event_id:1, x:1},{event_id:2, x:2},{event_id:1, x:3}]

как получить список из icons с уникальными event_id. т.е [{event_id:1, x:1},{event_id:2, x:2}]


мой вариант:
tmp = set()
unic = set()
for icon in icons:
     if not icon['event_id'] in tmp:
         unic.add(icon)
         tmp.add(icon['event_id'])


зная, что питон может предоставить красивые решения, предполагаю, что тут можно решить задачу проще (или красивее)
  • Вопрос задан
  • 3485 просмотров
Решения вопроса 1
leventov
@leventov
unic = {icon['event_id']: icon for icon in reversed(icons)}.values()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@fledgling
Уоп. Хотел отдельным ответом, получилось комментом.

set(map(lambda icon: icon['event_id'], icons))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы