ids = {'user1': [213, 213, 213, 15, 213],
'user2': [54, 54, 119, 119, 119],
'user3': [213, 98, 98, 35]}
print(set(sum(ids.values(), [])))
Вот пример:
Python:ids = {'user1': [213, 213, 213, 15, 213], 'user2': [54, 54, 119, 119, 119], 'user3': [213, 98, 98, 35]} print(set(sum(ids.values(), [])))
ids = {'user1': [213, 213, 213, 15, 213],
'user2': [54, 54, 119, 119, 119],
'user3': [213, 98, 98, 35]}
#список значений:
lst = ids.values()
#преобразование в одномерный список
newlist = []
for i in lst:
for j in i:
newlist.append(j)
#теперь newlist содержит одномерный список всех значений из ids
print(set(newlist))
#вывод только уникальных значений этого списка, поскольку set не может содержать одинаковых элементов.
Интересный подход с суммированием списков. Он 100% рабочий, но не очень очевидный.
Полагаю, что для топикстартера было бы полезнее узнать именно алгоритм решения задачи.
С вашего позволения, я попробую объяснить решение не оптимальным, но нагядным примером:
В целом, задача привести все значения ключей ids к одномерному списку, а затем перевести эти значения в уникальный набор преобразованием списка в множество (set)
Python:ids = {'user1': [213, 213, 213, 15, 213], 'user2': [54, 54, 119, 119, 119], 'user3': [213, 98, 98, 35]} #список значений: lst = ids.values() #преобразование в одномерный список newlist = [] for i in lst: for j in i: newlist.append(j) #теперь newlist содержит одномерный список всех значений из ids print(set(newlist)) #вывод только уникальных значений этого списка, поскольку set не может содержать одинаковых элементов.
Спасибо, так гораздо понятнее)Интересный подход с суммированием списков. Он 100% рабочий, но не очень очевидный.
Полагаю, что для топикстартера было бы полезнее узнать именно алгоритм решения задачи.
С вашего позволения, я попробую объяснить решение не оптимальным, но нагядным примером:
В целом, задача привести все значения ключей ids к одномерному списку, а затем перевести эти значения в уникальный набор преобразованием списка в множество (set)
Python:ids = {'user1': [213, 213, 213, 15, 213], 'user2': [54, 54, 119, 119, 119], 'user3': [213, 98, 98, 35]} #список значений: lst = ids.values() #преобразование в одномерный список newlist = [] for i in lst: for j in i: newlist.append(j) #теперь newlist содержит одномерный список всех значений из ids print(set(newlist)) #вывод только уникальных значений этого списка, поскольку set не может содержать одинаковых элементов.
А так не правильно?
ids_set_1 = set(ids['user1'])
ids_set_2 = set(ids['user2'])
ids_set_3 = set(ids['user3'])
print(ids_set_3.union(ids_set_2.union(ids_set_1)))