Олимпиадный тренинг

Задача . Слияние словарей *


Задача

Темы:

Напишите функцию merge(), объединяющую словари в один общий. Функция должна принимать список словарей и возвращать словарь, каждый ключ которого содержит множество (тип данных set) уникальных значений собранных из всех словарей переданного списка.
Формат входных данных
На вход программе строка "список словарей".
Чтобы из нее сформировать реальный список словарей 
params используйте функцию eval().

Примечание 1. Следующий программный код:

result = merge([{'a': 1, 'b': 2}, {'b': 10, 'c': 100}, {'a': 1, 'b': 17, 'c': 50}, {'a': 5, 'd': 777}])

создает словарь:

result = {'a': {1, 5}, 'b': {2, 10, 17}, 'c': {50, 100}, 'd': {777}}

Примечание 2. Нужно реализовать функцию merge() и вывести ее результат на печать.

Примечание 3. Слияние пустых словарей должно быть пустым словарем.


Примеры
Входные данныеВыходные данные
1 [{'a': 1, 'b': 2}, {'b': 10, 'c': 100}, {'a': 1, 'b': 17, 'c': 50}, {'a': 5, 'd': 777}]
{'a': {1, 5}, 'b': {2, 10, 17}, 'c': {50, 100}, 'd': {777}}
2 [{}, {}, {}, {}]
{}

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
Python5
Комментарий учителя