Из нескольких словарей сгенерируйте все комбинации ключей, суммируя их значения.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Из нескольких словарей сгенерируйте все комбинации ключей, суммируя их значения.

Сообщение Anonymous »

Предположим, у меня есть n словарей разного размера, dictA, ..., dictN (n может достигать 18 ). Все они имеют строки в качестве ключей и положительные числа в качестве значений. Мне нужен словарь dictComb, ключами которого являются все комбинации ключей от dictA до dictN (по одному ключу из каждого словаря) со значением каждой комбинации, равным сумме значения составляющих ключей.
Пример (n=2):
dictA = {"Beefsteak": 20, "Campari": 100}
dictB = {"McIntosh": 5, "Fuji": 11, "Honeycrisp": 32}

dictComb = {
"Beefsteak McIntosh": 25, "Beefsteak Fuji": 31, "Beefsteak Honeycrisp": 52,
"Campari McIntosh": 105, "Campari Fuji": 111, "Campari Honeycrisp": 132
}

Я пробовал что-то вроде этого:
for (a, b) in zip(dictA, dictB):
dictComb.update({" ".join([a, b]): sum([dictA[a], dictB])})

К сожалению, это дает:
dictComb = {"Beefsteak McIntosh": 25, "Campari Fuji": 111}


Подробнее здесь: https://stackoverflow.com/questions/791 ... mming-thei
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»