Как выбрать уникальные значения (представлены в виде списков) ключей и отправить на печать в алфавитном порядке Python

Рейтинг: 0Ответов: 2Опубликовано: 06.08.2023

У меня есть словарь

dict = {
    'a': ['Andrew', 'Albert', 'Mike'], 
    'b': ['Mike', 'Billy', 'John'],
    'c': ['Eric', 'Albert', 'Frank']
}

Вопрос - как можно вытащить все уникальные значения и отправить их на печать в виде: 'Albert, Andrew, Billy, Eric, Frank, John, Mike'

Я пробовал сгенерировать строку

list = ','.join(dict[key].pop(0) for key in sorted(dict))

но не смог убрать дублирование

Ответы

▲ 0Принят
my_list = ', '.join(sorted(set(sum(my_dict.values(),start=[]))))

sorted - сортировка нужна в конце

set - список без дублей

sum - один из способов сцепить списки в один

my_dict.values - достает значения из словаря

▲ 0

Не используйте слова 'dict' и 'list' в качестве названия переменных, это помешает в случае, если вам нужно будет обратиться к функции dict() или list().

А сделать это можно примерно так:

my_dict = {
    'a': ['Andrew', 'Albert', 'Mike'], 
    'b': ['Mike', 'Billy', 'John'],
    'c': ['Eric', 'Albert', 'Frank']
}

unique_values = set()
for lst in my_dict.values():
    unique_values.update(lst)

result = ', '.join(unique_values)
print(result)