Уплотнить python выражение умножения списка кортежей с помощью float - PullRequest
0 голосов
/ 23 января 2020

Учитывая веса и смещение, я хотел умножить веса на число с плавающей запятой и добавить термин смещения. Тем не менее, невозможно умножить последовательность на число с плавающей запятой, но я хочу сжать эту форму, какой удобный способ сжать выражения?

weights=[(2,6),(3,5),(5,4)]
bias=[2,-2.2,-3]
score1 = weights[0][0] * 0.4 + weights[0][1] * 0.6 + bias[0]
score2 = weights[1][0] * 0.4 + weights[1][1] * 0.6 + bias[1]
score3 = weights[2][0] * 0.4 + weights[2][1] * 0.6 + bias[2]

1 Ответ

2 голосов
/ 23 января 2020

Вот один способ использования списка со следующим: zip:

[w1*0.4 + w2*0.6 +b for (w1, w2), b in zip(weights, bias)]
# [6.3999999999999995, 2.0, 1.4000000000000004]

Если вы хотите сохранить их как отдельные переменные:

score1, score2, score3 = (w1*0.4 + w2*0.6 +b for (w1, w2), b in zip(weights, bias))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...