S=[22, 33, 45.6, 21.6, 51.8]
P=2.45
Qui S è una matriceCome moltiplicare i singoli elementi di una lista con un numero?
Come faccio a moltiplicare questo e ottenere il valore?
SP=[53.9, 80.85, 111.72, 52.92, 126.91]
S=[22, 33, 45.6, 21.6, 51.8]
P=2.45
Qui S è una matriceCome moltiplicare i singoli elementi di una lista con un numero?
Come faccio a moltiplicare questo e ottenere il valore?
SP=[53.9, 80.85, 111.72, 52.92, 126.91]
È possibile utilizzare built-in map
funzione:
result = map(lambda x: x * P, S)
o list comprehensions che è un po 'più divinatorio:
result = [x * P for x in S]
Come nota, le operazioni sugli array, come la moltiplicazione scalare, sono altamente ottimizzate in numpy e sono significativamente più veloci delle list comprehensions. In genere è consigliabile non trattare gli array numpy come le liste di python. – JoshAdel
Un buon consiglio. Non ho notato 'intorpidito' nei tag. –
Trovo queste comprensioni completamente incomprensibili. –
In NumPy è abbastanza semplice
import numpy as np
P=2.45
S=[22, 33, 45.6, 21.6, 51.8]
SP = P*np.array(S)
Vi consiglio di dare un'occhiata al tutorial NumPy per una spiegazione di tutte le funzionalità degli array di NumPy:
Se si utilizza numpy.multiply
S = [22, 33, 45.6, 21.6, 51.8]
P = 2.45
multiply(S, P)
ti dà come risultato
array([53.9 , 80.85, 111.72, 52.92, 126.91])
In Python S non è un array, è un elenco. C'è una grande differenza tra i due tipi di contenitori. Se vuoi array numerici, usa numpy. – talonmies
No, S non è nemmeno una lista – joaquin
@joaquin: Preghi dire che cosa 'S' è allora, se non è una lista? – talonmies