В качестве примера я есть словарь следующим образом:Использование словаря значений для расчета суммы взвешенных значений без явно определенных весов
mydict = {A:['asdasd',2,3], B:['asdasd',4,5], C:['rgerg',9,10]}
Как я могу получить только одно число, которое, по существу, сумма взвешенных значений все ключи в dict (этот пример: A, B, C), взвешенный последним номером в списке (list[-1]
)?
Так, например, это будет сумма:
(2/15)*3 + (4/15)*5 + (9/15)*10 = 7.73
где 15 является суммой 2,4,9.
В настоящее время я создаю слишком много переменных, которые просто перебирают словарь. Я уверен, что есть быстрый эффективный способ python.
Спасибо. Мне очень нравится первый вариант, который вы мне дали. Это был самый быстрый метод с данными, которые я использую. Это то, чем я был после, renlot дал аналогичный подход, который я провел с гораздо более лаконично сделанными. Я повторю свой запрос, который я сделал для renlot. Я создаю словарь на лету для других целей, и я только что добавил эти переменные. Думаете ли вы, что ради спасения нужно что-то другое, кроме как в дикторе? – FancyDolphin
Без каких-либо подробностей трудно сказать, вы могли бы избежать добавления значений в dict, а затем вычислять, просто вычисляя результаты на лету. – AChampion
Из любопытства я играл с ним и не понимал его. Синтаксис мудрый, как бы я, используя ваш метод уменьшения lamdba, включить оператор if, если сказать e [0] == 'asdasd'? – FancyDolphin