Dada una lista, imprime el valor obtenido después de multiplicar todos los números de una lista.
Ejemplos:
Input : list1 = [1, 2, 3] Output : 6 Explanation: 1*2*3=6 Input : list1 = [3, 2, 4] Output : 24
Método 1: transversal
Inicialice el valor del producto a 1 (no 0 ya que 0 multiplicado por cualquier cosa devuelve cero). Recorre hasta el final de la lista, multiplica cada número por el producto. El valor almacenado en el producto al final le dará su respuesta final.
A continuación se muestra la implementación de Python del enfoque anterior:
Python
# Python program to multiply all values in the # list using traversal def multiplyList(myList) : # Multiply elements one by one result = 1 for x in myList: result = result * x return result # Driver code list1 = [1, 2, 3] list2 = [3, 2, 4] print(multiplyList(list1)) print(multiplyList(list2))
6 24
Método 2: Usar numpy.prod()
Podemos usar numpy.prod() de import numpy para obtener la multiplicación de todos los números de la lista. Devuelve un valor entero o flotante dependiendo del resultado de la multiplicación.
A continuación se muestra la implementación de Python3 del enfoque anterior:
Python3
# Python3 program to multiply all values in the # list using numpy.prod() import numpy list1 = [1, 2, 3] list2 = [3, 2, 4] # using numpy.prod() to get the multiplications result1 = numpy.prod(list1) result2 = numpy.prod(list2) print(result1) print(result2)
Producción:
6 24
Método 3 Usando la función lambda: Usando numpy.array
La definición de Lambda no incluye una declaración de «retorno» , siempre contiene una expresión que se devuelve. También podemos poner una definición lambda en cualquier lugar donde se espera una función, y no tenemos que asignarla a ninguna variable. Esta es la simplicidad de las funciones lambda. La función reduce() en Python toma una función y una lista como argumento. La función se llama con una función lambda y se devuelve una lista y un nuevo resultado reducido . Esto realiza una operación repetitiva sobre los pares de la lista.
A continuación se muestra la implementación de Python3 del enfoque anterior:
Python3
# Python3 program to multiply all values in the # list using lambda function and reduce() from functools import reduce list1 = [1, 2, 3] list2 = [3, 2, 4] result1 = reduce((lambda x, y: x * y), list1) result2 = reduce((lambda x, y: x * y), list2) print(result1) print(result2)
6 24
Método 4 Uso de la función prod de la biblioteca matemática: Uso de math.prod
A partir de Python 3.8, se ha incluido una función prod en el módulo matemático de la biblioteca estándar, por lo que no es necesario instalar bibliotecas externas.
A continuación se muestra la implementación de Python3 del enfoque anterior:
Python3
# Python3 program to multiply all values in the # list using math.prod import math list1 = [1, 2, 3] list2 = [3, 2, 4] result1 = math.prod(list1) result2 = math.prod(list2) print(result1) print(result2)
Producción:
6 24
Método 5: Uso de la función mul() del módulo del operador.
Primero tenemos que importar el módulo del operador y luego usar la función mul() del módulo del operador multiplicando todos los valores en la lista.
Python3
# Python 3 program to multiply all numbers in # the given list by importing operator module from operator import* list1 = [1, 2, 3] m = 1 for i in list1: # multiplying all elements in the given list # using mul function of operator module m = mul(i, m) # printing the result print(m)
6