S=[22, 33, 45.6, 21.6, 51.8]
P=2.45
Aquí S es una matriz¿Cómo se multiplican los elementos individuales de una lista con un número?
¿Cómo voy a multiplicar este y obtener el valor?
SP=[53.9, 80.85, 111.72, 52.92, 126.91]
S=[22, 33, 45.6, 21.6, 51.8]
P=2.45
Aquí S es una matriz¿Cómo se multiplican los elementos individuales de una lista con un número?
¿Cómo voy a multiplicar este y obtener el valor?
SP=[53.9, 80.85, 111.72, 52.92, 126.91]
Se puede utilizar una función de map
función:
result = map(lambda x: x * P, S)
o list comprehensions que es un poco más Pythonic:
result = [x * P for x in S]
Como nota, las operaciones en matrices, como la multiplicación escalar están altamente optimizadas en numpy, y son significativamente más rápidas que las listas de comprensión. En general, es aconsejable no tratar las matrices numpy como las listas de Python. – JoshAdel
Buen consejo. No he notado 'numpy' en las etiquetas. –
Encuentro esas comprensiones completamente incomprensibles. –
En numpy es bastante simple
import numpy as np
P=2.45
S=[22, 33, 45.6, 21.6, 51.8]
SP = P*np.array(S)
Yo recomiendo echar un vistazo a la guía de aprendizaje numpy para una explicación de todas las capacidades de las matrices de numpy:
Si utiliza numpy.multiply
S = [22, 33, 45.6, 21.6, 51.8]
P = 2.45
multiply(S, P)
Te da como resultado
array([53.9 , 80.85, 111.72, 52.92, 126.91])
En Python S no es una matriz, es una lista. Hay una gran diferencia entre los dos tipos de contenedores. Si quiere matrices numéricas, use numpy. – talonmies
No, S ni siquiera es una lista – joaquin
@joaquin: ¿Diga qué es 'S' entonces, si no es una lista? – talonmies