Подскажите, пожалуйста, есть такая задача: есть 2 словаря: pizza = {‘мука, кг’: 1, ‘помидоры, кг’: 1.5, ‘шампиньоны, кг’: 1.5, ‘сыр, кг’: 0.8, - вопрос №3375790

‘оливковое масло, л’: 0.1, ‘дрожжи, г’: 50} salad = {‘огурцы, кг’: 1, ‘перцы, кг’: 1, ‘помидоры, кг’: 1.5, ‘оливковое масло, л’: 0.1, ‘листья салата, кг’: 0.4} нужно написать функцию, которая вернет в ответ список уникальных продуктов с количеством, т.е. на выходе должно получиться list = {‘мука, кг’: 1, ‘помидоры, кг’: 3, ‘шампиньоны, кг’: 1.5, ‘сыр, кг’: 0.8, ‘оливковое масло, л’: 0.2, ‘дрожжи, г’: 50, ‘огурцы, кг’: 1, ‘перцы, кг’: 1, ‘листья салата, кг’: 0.4}
25.07.19
1 ответ

Ответы

Это так называемая операция симметрической разности над двумя множествами — в данном случае над двумя словарями, для этого надо из объединения двух множеств вычесть пересечение( причем в вашей задаче по всей видимости именно поэтому совпадают значения одинаковых клчей двух словарей) однако у вас на выходе описано объединение, поэтому я вам предложу следущее решение.

common_ingredients = pizza

common_ingredients.update(salad)

print(common_ingredients) # вывод общих ингридиентов который присутствует у вас

all(map( common_ingredients.pop, crossing_ingridients)) # оставляем уникальные ингредиенты

print(common_ingredients) # выводим уникальные ингредиенты

 

 

могу дать уроки по пайтону и программированию

02.10.19

Глеб Черняк

Сейчас на сайте
Читать ответы

Дима

Сейчас на сайте
Читать ответы

Олег Николаевич

Читать ответы
Посмотреть всех экспертов из раздела Технологии
1 ответ
14.03.24
Вопрос задан анонимно
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store