Как получить уникальные значения словаря через 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()))
→ Ссылка