Как разбить отдельные элементы списка на число? S = [22, 33, 45.6, 21.6, 51.8] P = 2.45 Здесь S это массив Как я умножу это и получу значение? SP = [53.9, 80.85, 111.72, 52.92, 126.91] Ответ 1 Вы можете использовать встроенную функцию map: result = map(lambda x: x * P, S) или перечислите более понятные понимания: result = [x * P for x in S] Ответ 2 В NumPy это довольно просто import numpy as np P=2.45 S=[22, 33, 45.6, 21.6, 51.8] SP = P*np.array(S) Я рекомендую взглянуть на учебник NumPy для объяснения всех возможностей массивов NumPy: https://scipy.github.io/old-wiki/pages/Tentative_NumPy_Tutorial Ответ 3 Если вы используете numpy.multiply S = [22, 33, 45.6, 21.6, 51.8] P = 2.45 multiply(S, P) Это дает вам результат array([53.9 , 80.85, 111.72, 52.92, 126.91]) Ответ 4 Вот функциональный подход с использованием map, itertools.repeat и operator.mul: import operator from itertools import repeat def scalar_multiplication(vector, scalar): yield from map(operator.mul, vector, repeat(scalar)) Пример использования: >>> v = [1, 2, 3, 4] >>> c = 3 >>> list(scalar_multiplication(v, c)) [3, 6, 9, 12]
Ответ 1 Вы можете использовать встроенную функцию map: result = map(lambda x: x * P, S) или перечислите более понятные понимания: result = [x * P for x in S]
Ответ 2 В NumPy это довольно просто import numpy as np P=2.45 S=[22, 33, 45.6, 21.6, 51.8] SP = P*np.array(S) Я рекомендую взглянуть на учебник NumPy для объяснения всех возможностей массивов NumPy: https://scipy.github.io/old-wiki/pages/Tentative_NumPy_Tutorial
Ответ 3 Если вы используете numpy.multiply S = [22, 33, 45.6, 21.6, 51.8] P = 2.45 multiply(S, P) Это дает вам результат array([53.9 , 80.85, 111.72, 52.92, 126.91])
Ответ 4 Вот функциональный подход с использованием map, itertools.repeat и operator.mul: import operator from itertools import repeat def scalar_multiplication(vector, scalar): yield from map(operator.mul, vector, repeat(scalar)) Пример использования: >>> v = [1, 2, 3, 4] >>> c = 3 >>> list(scalar_multiplication(v, c)) [3, 6, 9, 12]