Python массивы / списки: преобразовать общее в относительные значения - PullRequest
0 голосов
/ 02 марта 2020

Я ищу самый простой способ получить суммарные значения arr_A, перечисленные как относительные значения в arr_B.

Я хочу избежать использования al oop, например value[i]/sum(arr_A)

Примечание: arr_A динамически изменяется, это просто простой пример

Есть ли простая встроенная функция в функции?

arr_A = [2, 4, 2, 2]

#do magic

arr_B = [0.2, 0.4, 0.2, 0.2]

Ответы [ 2 ]

2 голосов
/ 02 марта 2020

Pure Python:

s = sum(arr_A)
arr_B = [x/s for x in arr_B]

Однако для числовых операций библиотека numpy - ваш друг. В numpy это может быть написано:

arr_B = np.array(arr_A) / np.sum(arr_A)
0 голосов
/ 02 марта 2020

Можно попробовать использовать встроенную функцию map с лямбда-функцией

arr_B = list(map(lambda x: x/sum(arr_A), arr_A))
...