Как я могу построить функцию, которая принимает словарь, как: -элементы отображения словаря и нормализовать их
dic = {'a':0.4, 'b':0.2, 'c':0.1, 'd':0.5}
и список списков: -
l = [['a','red',1],['c','green', 4],['b','blue', 5]]
Так что я могу сопоставить буквы из списка в словаре и вернуть их значения нормированы, как это:
result = sqrt((0.4^2) + (0.1^2) + (0.2^2))
Это моя попытка:
from numpy.linalg import norm
def normalizing(dic, l1):
result = []
for i in dic:
if i in l1:
result.append(dic[i])
return norm(result)
возвращения 0.0
Ваша помощь очень ценится!
Можно ли получить l = [["a", "a", 1], ["c", "green", "c"]]? Что вы хотите сделать в этом случае? – Jblasco
Этот код не работает, так как «a» не находится в массиве [['a', 'red', 1], ['c', 'green', 4], ['b', 'blue ', 5]] находится в поддиапазонах. – badc0re
Спасибо, что ты прав! – JPP