Étant donné une liste, imprimez la valeur obtenue après avoir multiplié tous les nombres dans un Python liste.
Exemples:
Input : list1 = [1, 2, 3] Output : 6 Explanation : 1*2*3=6 Input : list1 = [3, 2, 4] Output : 24>
Multipliez tous les nombres de la liste en Python
Il existe plusieurs approches pour effectuer une multiplication dans une liste. Dans ce contexte, nous utiliserons les méthodes couramment utilisées pour multiplier en Python, comme indiqué ci-dessous.
- Utiliser la traversée
- En utilisant numpy.prod()
- Utilisation de la fonction lambda
- En utilisant Bibliothèque mathématique
- En utilisant J'ai() fonction
- Utilisation du parcours par index
- En utilisant Pour la boucle
- En utilisant itertools.accumulate()
- Utiliser la fonction récursive
Multipliez tous les nombres de la liste en utilisant Traversée
Initialisez la valeur du produit à 1 (et non à 0 car 0 multiplié par n'importe quoi renvoie zéro). Parcourez jusqu'à la fin de la liste, multipliez chaque nombre par le produit. La valeur stockée dans le produit à la fin vous donnera votre réponse finale.
Exemple : Dans cet exemple, le code ci-dessous utilise une approche traversante dans la fonction ` multiplierListe ` pour calculer le produit des éléments dans les listes `[1, 2, 3]` et `[3, 2, 4]`, ce qui donne des résultats de 6 et 24, respectivement.
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))> |
>
>
Sortir :
6 24>
Complexité temporelle : O(n), où n est le nombre d'éléments dans la liste.
Espace auxiliaire : O(1),
Multipliez tous les nombres de la liste u que numpy.prod()
On peut utiliser numpy.prod() from import numpy pour obtenir la multiplication de tous les nombres de la liste. Il renvoie un entier ou une valeur flottante en fonction du résultat de la multiplication.
Exemple : Dans cet exemple, le code ci-dessous utilise `numpy.prod()` pour trouver le produit des éléments dans les listes `[1, 2, 3]` et `[3, 2, 4]`, ce qui donne des sorties de 6 et 24, respectivement.
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)> |
>
>
Sortir :
6 24>
Complexité temporelle : O(n), où n est la longueur des listes d'entrée.
Espace auxiliaire : O(1).
Multipliez tous les nombres de la liste u chanter la fonction lambda
Lambda’ La définition n'inclut pas un retour instruction, elle contient toujours une expression qui est renvoyée. Nous pouvons également placer une définition lambda partout où une fonction est attendue, et nous n'avons pas du tout besoin de l'attribuer à une variable. C'est la simplicité des fonctions lambda. Le réduire() La fonction en Python prend une fonction et une liste comme argument. La fonction est appelée avec une fonction lambda et une liste et un n un nouveau résultat réduit est renvoyé . Cela effectue une opération répétitive sur les paires de la liste.
Exemple : Dans cet exemple, le code ci-dessous utilise « functools.reduce » de Python avec une fonction lambda pour multiplier toutes les valeurs des listes « [1, 2, 3] » et « [3, 2, 4] ». Les résultats, 6 et 24, sont imprimés.
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)> |
>
>
Sortir :
6 24>
Complexité temporelle : O(n) – où n est la longueur de la liste la plus longue.
Espace auxiliaire : O(1) – la mémoire utilisée est constante, car aucune structure de données supplémentaire n’est créée.
Multipliez tous les nombres de la liste u chanter la fonction prod de la bibliothèque mathématique
À partir de Python 3.8, une fonction prod a été incluse dans le module de mathématiques dans la bibliothèque standard, donc pas besoin d'installer des bibliothèques externes.
Exemple : Dans cet exemple, le code ci-dessous utilise la fonction « math.prod » de Python pour calculer le produit de toutes les valeurs des listes « [1, 2, 3] » et « [3, 2, 4] ». Les résultats, 6 et 24, sont imprimés.
Python3
boucle infinie
# 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)> |
>
>
Sortir:
6 24>
Complexité temporelle : O(n), où n est la longueur de la liste d'entrée.
Espace auxiliaire : O(1)
Multipliez tous les nombres de la liste u chantez la fonction mul() du module opérateur.
Il faut d'abord importer le module opérateur puis utiliser le Fonction mul() du module opérateur multipliant toutes les valeurs de la liste. Dans cet exemple, le code ci-dessous multiplie tous les nombres de la liste « [1, 2, 3] » à l'aide de la fonction « mul » du module « opérateur ». Il parcourt la liste, met à jour la variable de résultat et imprime le produit final (sortie : 6).
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)> |
>
>
Sortir :
6>
Complexité temporelle : Sur), où n est la longueur de la liste d'entrée. Espace auxiliaire : O(1), qui est constante.
Multipliez tous les nombres de la liste à l'aide de la boucle For
Pour multiplier tous les nombres d'une liste à l'aide d'un Pour la boucle , vous pouvez parcourir chaque élément de la liste et mettre à jour une variable de produit en cours d'exécution.
Exemple :Dans cet exemple, lemultiply_list>la fonction prend une liste en entrée et initialise une variableproduct>à 1. Il parcourt ensuite chaque élément de la liste, mettant à jour le produit en le multipliant par l'élément actuel
Python3
def> multiply_list(list1):> ># Initialize product to 1> >product>=> 1> > ># Iterate through each element in the list> >for> element>in> list1:> >product>*>=> element> > >return> product> # Example> list1>=> [>1>,>2>,>3>,>4>,>5>]> result>=> multiply_list(list1)> print>(result)> |
>
>
Sortir :
120>
Complexité temporelle : O(n), où n est la longueur de la liste d'entrée.
Espace auxiliaire : O(1).
Multipliez tous les nombres de la liste en utilisant le parcours par index
Dans cet exemple, le code ci-dessous définit une fonction, « multiplyList », pour trouver le produit des éléments de la liste en utilisant une approche traversante. Il multiplie séquentiellement chaque élément de la liste. Les démonstrations avec les listes « [1, 2, 3] » et « [3, 2, 4] » donnent des résultats de 6 et 24, respectivement.
Python3
# Python program to multiply all values in the> # list using traversal> def> multiplyList(myList) :> > ># Multiply elements one by one> >result>=> 1> >for> i>in> range>(>0>,>len>(myList)):> >result>=> result>*> myList[i]> >return> result> > # Driver code> list1>=> [>1>,>2>,>3>]> list2>=> [>3>,>2>,>4>]> print>(multiplyList(list1))> print>(multiplyList(list2))> |
>
>
Sortir :
6 24>
Complexité temporelle : O(n), où n est la longueur de la liste d'entrée. Espace auxiliaire : O(1).
Multipliez tous les nombres de la liste u chanter itertools.accumulate
Le `itertools.accumuler La fonction ` est utilisée pour les opérations cumulatives sur un itérable. Dans ce cas, il cumule le produit des éléments dans les listes. La fonction lambda `(lambda x, y : x * y)` définit l'opération de multiplication, et les résultats finaux sont obtenus à partir des valeurs accumulées.
Exemple : Dans cet exemple, le code ci-dessous utilise « itertools.accumulate » avec une fonction lambda pour multiplier les valeurs dans les listes « [1, 2, 3] » et « [3, 2, 4] ». Les résultats accumulés sont convertis en listes et les derniers éléments sont imprimés (sorties : 6 et 24).
Python
# Python3 program to multiply all values in the> # list using lambda function and accumulate()> from> itertools>import> accumulate> list1>=> [>1>,>2>,>3>]> list2>=> [>3>,>2>,>4>]> result1>=> list>(accumulate(list1, (>lambda> x, y: x>*> y)))> result2>=> list>(accumulate(list2, (>lambda> x, y: x>*> y)))> print>(result1[>->1>])> print>(result2[>->1>])> |
>
>
Sortir:
6 24>
Complexité temporelle : O(n), où n est la longueur de la liste d'entrée. Espace auxiliaire : Sur)
Multipliez tous les nombres de la liste à l'aide de la fonction récursive
La fonction produit_ récursif() prend une liste de nombres en entrée et renvoie le produit de tous les nombres de la liste, en utilisant une approche récursive.
Exemple : Dans cet exemple, le code ci-dessous définit une fonction récursive, `product_recursive`, pour calculer le produit des éléments d'une liste. Il gère les cas de base et récursifs, démontrant sa fonctionnalité avec les listes « [1, 2, 3] » et « [3, 2, 4] », donnant lieu à des sorties de 6 et 24, respectivement.
Python3
def> product_recursive(numbers):> ># base case: list is empty> >if> not> numbers:> >return> 1> ># recursive case: multiply first element by product of the rest of the list> >return> numbers[>0>]>*> product_recursive(numbers[>1>:])> list1>=> [>1>,>2>,>3>]> product>=> product_recursive(list1)> print>(product)># Output: 6> list2>=> [>3>,>2>,>4>]> product>=> product_recursive(list2)> print>(product)># Output: 24> |
>
>
Sortir :
6 24>
Complexité temporelle : O(n), où n est le nombre d'éléments dans la liste.
Complexité spatiale :Sur)
Multipliez tous les nombres de la liste en utilisant réduire() et la fonction mul()
Une approche pour résoudre ce problème consiste à utiliser le module intégré fonction réduire() du module functools, qui peut appliquer une fonction à un itérable de manière cumulative. Nous pouvons utiliser la fonction Operator.mul() pour multiplier les éléments entre eux.
Exemple : Dans cet exemple, le code ci-dessous utilise `functools.reduce` et `operator.mul` pour multiplier les éléments de la liste [1, 2, 3], imprimant le produit cumulé (sortie : 6). Il montre l'efficacité de la fonction « réduire » pour des opérations cumulatives concises.
Python3
from> functools>import> reduce> from> operator>import> mul> list1>=> [>1>,>2>,>3>]> result>=> reduce>(mul, list1)> print>(result)> |
>
>
Sortir :
6>
Complexité temporelle : Sur)
Espace auxiliaire : O(1)