Как получить уникальные значения словаря через set?
У меня есть код:
ids = {"user1": (213, 213, 213, 15, 213),
"user2": (54, 54, 119, 119, 119),
"user3": (213, 98, 98, 35)}
set_of_ids = []
for value in ids.values():
set_of_ids.extend(value)
print("Уникальные гео-метки пользователей", set(set_of_ids))
Результат выходит:
Уникальные гео-метки пользователей {213, 15}
Уникальные гео-метки пользователей {119, 213, 54, 15}
Уникальные гео-метки пользователей {98, 35, 15, 213, 54, 119}
Мне необходимо, чтобы осталась последняя строчка, уникальные метки всех пользователей. А у меня выходит сперва вывод по каждому пользователю и отдельно общий список.
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
res = set()
_ = [res.update(x) for x in ids.values()]
print(f"Уникальные гео-метки пользователей: {res}")
вывод:
Уникальные гео-метки пользователей: {98, 35, 15, 213, 54, 119}
UPD: более оптимальный вариант решения (без циклов):
res = set(sum(ids.values(), tuple()))