una soporta segundo rapida por optimizar mas lentas lenta hacer guia cuello cuantas consultas consulta como botella agilizar python list multiplication scalar elementwise-operations

python - soporta - optimizar consultas mysql explain



Cómo multiplicar todos los enteros dentro de la lista (6)

Hola, así que quiero multiplicar los enteros dentro de una lista.

Por ejemplo;

l = [1, 2, 3] l = [1*2, 2*2, 3*2]

salida:

l = [2, 4, 6]

Así que estaba buscando en línea y la mayoría de las respuestas se referían a multiplicar todos los enteros entre sí, tales como:

[1 * 2 * 3]


La forma más pitónica sería utilizar una lista de comprensión:

l = [2*x for x in l]

Si necesita hacer esto para una gran cantidad de enteros, use matrices numpy :

l = numpy.array(l, dtype=int)*2

Una alternativa final es usar el mapa

l = list(map(lambda x:2*x, l))


La forma más simple para mí es:

map((2).__mul__, [1, 2, 3])


Otro enfoque funcional que es quizás un poco más fácil de ver que una función anónima si sigue esa ruta es usar functools.partial para utilizar el operator.mul dos parámetros.mul con un múltiplo fijo

>>> from functools import partial >>> from operator import mul >>> double = partial(mul, 2) >>> list(map(double, [1, 2, 3])) [2, 4, 6]


Prueba una lista de comprensión :

l = [x * 2 for x in l]

Esto pasa por l , multiplicando cada elemento por dos.

Por supuesto, hay más de una forma de hacerlo. Si te gustan las funciones lambda y el map , incluso puedes hacer

l = map(lambda x: x * 2, l)

para aplicar la función lambda x: x * 2 a cada elemento en l . Esto es equivalente a:

def timesTwo(x): return x * 2 l = map(timesTwo, l)


usando numpy:

In [1]: import numpy as np In [2]: nums = np.array([1,2,3])*2 In [3]: nums.tolist() Out[4]: [2, 4, 6]


#multiplying each element in the list and adding it into an empty list original = [1, 2, 3] results = [] for num in original: results.append(num*2)# multiply each iterative number by 2 and add it to the empty list. print(results)