Добавить значения словаря в набор в Python

Я новичок в питоне. У меня есть словарь с подмножествами в качестве значений, ссылку на это:

dict = {key1: [value1, value2, value 3], key2: [value4], key3: [value5, value6]}

и так далее.

Я хотел бы сохранить некоторые из подмножеств значений в новом наборе. Например, я хотел бы объединить значения из ключей key1 и key3, чтобы

set1 = [value1, value2, value 3,value5, value6]

Я пытался сделать что-то вроде этого:

d1= set()
d1.add(dict['key1'])
d1.add(dict['key3'])

но это, кажется, не работает (я получаю ошибку TypeError: unhashable type: 'set'). Любая помощь?

3 ответа

Решение
d1= set()
map(d1.add, dict['key1'])
map(d1.add, dict['key3'])

Вы должны привести каждый список к набору, прежде чем пытаться объединить их значения:

>>> set(dict["key1"]) | set(dict["key3"])
{'value 3', 'value1', 'value2', 'value5', 'value6'}

Используя понимание:

new_set = {v for v_list in dict.values() for v in v_list}
Другие вопросы по тегам