Ответ 1
Используйте функцию суммы в списке, создаваемую с помощью итерации ключей dict_1 в паре с функцией get(), с dict_2:
dot_product = sum(dict_1[key]*dict_2.get(key, 0) for key in dict_1)
Я пытаюсь сделать точечный продукт значений двух словарей. Например:
dict_1={'a':2, 'b':3, 'c':5, 'd':2}
dict_2={'a':2, 'b':2, 'd':3, 'e':5 }
В форме списка выше выглядит так:
dict_1=[2,3,5,2,0]
dict_2=[2,2,0,3,5]
Точечный продукт словаря с тем же ключом приведет к:
Ans= 16 [2*2 + 3*2 + 5*0 + 2*3 + 0*5]
Как я могу достичь этого со словарем? Со списком я могу просто вызвать функцию np.dot
или написать небольшой цикл.
Используйте функцию суммы в списке, создаваемую с помощью итерации ключей dict_1 в паре с функцией get(), с dict_2:
dot_product = sum(dict_1[key]*dict_2.get(key, 0) for key in dict_1)