logo

Python | Vermenigvuldig alle getallen in de lijst

Gegeven een lijst, druk de waarde af die wordt verkregen na het vermenigvuldigen van alle getallen in a Python lijst.

Voorbeelden:



  Input :    list1 = [1, 2, 3]   Output :   6   Explanation  : 1*2*3=6   Input :   list1 = [3, 2, 4]   Output :   24>

Vermenigvuldig alle getallen in de lijst in Python

Er zijn meerdere benaderingen voor het uitvoeren van vermenigvuldiging binnen een lijst. In deze context zullen we algemeen gebruikte methoden gebruiken voor het vermenigvuldigen in Python, zoals hieronder beschreven.

  • Traversal gebruiken
  • Gebruik makend van numpy.prod()
  • Lambda-functie gebruiken
  • Gebruik makend van Wiskundebibliotheek
  • Gebruik makend van Ik heb() functie
  • Traversal by index gebruiken
  • Gebruik makend van For loop
  • Gebruik makend van itertools.accumulate()
  • Recursieve functie gebruiken

Vermenigvuldig alle getallen in de lijst met Traversaal

Initialiseer de waarde van het product op 1 (niet 0, want 0 vermenigvuldigd met alles retourneert nul). Loop door tot het einde van de lijst en vermenigvuldig elk getal met het product. De waarde die aan het einde in het product is opgeslagen, geeft u uw definitieve antwoord.

Voorbeeld : In dit voorbeeld gebruikt de onderstaande code een traversal-benadering in de functie ` vermenigvuldigLijst ` om het product van elementen in de lijsten `[1, 2, 3]` en `[3, 2, 4]` te berekenen, resulterend in uitvoer van respectievelijk 6 en 24.



Python






10 ml tot oz

# 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))>

>

>

Uitgang:

6 24>

Tijdcomplexiteit: O(n), waarbij n het aantal elementen in de lijst is.
Hulpruimte: O(1),

Vermenigvuldig alle getallen in de lijst u dat numpy.prod()

We kunnen gebruiken numpy.prod() van import numpy om de vermenigvuldiging van alle getallen in de lijst te krijgen. Het retourneert een geheel getal of een float-waarde, afhankelijk van het resultaat van de vermenigvuldiging.

Voorbeeld : In dit voorbeeld gebruikt de onderstaande code `numpy.prod()` om het product van elementen in de lijsten `[1, 2, 3]` en `[3, 2, 4]` te vinden, resulterend in uitvoer van 6 en 24, respectievelijk.

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)>

>

>

Uitgang:

6 24>

Tijdcomplexiteit: O(n), waarbij n de lengte van de invoerlijsten is.
Hulpruimte: O(1).

Vermenigvuldig alle getallen in de lijst u zingen lambda-functie

Lambda’ De definitie van deze term omvat niet a opbrengst statement, het bevat altijd een expressie die wordt geretourneerd. We kunnen ook overal waar een functie wordt verwacht een lambda-definitie plaatsen, en we hoeven deze helemaal niet aan een variabele toe te wijzen. Dit is de eenvoud van lambda-functies. De verminderen() functie in Python neemt een functie en een lijst als argument op. De functie wordt aangeroepen met een lambda-functie en een lijst en een n Er wordt een nieuw verlaagd resultaat geretourneerd . Dit voert een herhaalde bewerking uit over de paren van de lijst.

Voorbeeld : In dit voorbeeld gebruikt de onderstaande code Python's `functools.reduce` met een lambda-functie om alle waarden in de lijsten `[1, 2, 3]` en `[3, 2, 4]` te vermenigvuldigen. De resultaten, 6 en 24, worden afgedrukt.

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)>

>

>

Uitgang:

6 24>

Tijdcomplexiteit: O(n) – waarbij n de lengte van de langere lijst is.
Hulpruimte: O(1) – het gebruikte geheugen is constant, omdat er geen extra datastructuren worden gecreëerd.

Vermenigvuldig alle getallen in de lijst u zing prod-functie van wiskundebibliotheek

Vanaf Python 3.8 is er een prod-functie opgenomen in de wiskunde module in de standaardbibliotheek, dus het is niet nodig om externe bibliotheken te installeren.

Voorbeeld : In dit voorbeeld gebruikt de onderstaande code de functie `math.prod` van Python om het product van alle waarden in de lijsten `[1, 2, 3]` en `[3, 2, 4]` te berekenen. De resultaten, 6 en 24, worden afgedrukt.

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)>

>

>

Uitgang:

computer definiëren
6 24>

Tijdcomplexiteit : O(n), waarbij n de lengte van de invoerlijst is.
Hulpruimte: O(1)

Vermenigvuldig alle getallen in de lijst u zing mul() functie van operatormodule.

Eerst moeten we de operatormodule importeren en vervolgens de mul() functie van de bedieningsmodule waarbij alle waarden in de lijst worden vermenigvuldigd. In dit voorbeeld vermenigvuldigt de onderstaande code alle getallen in de lijst `[1, 2, 3]` met behulp van de `mul`-functie van de `operator`-module. Het doorloopt de lijst, werkt de resultaatvariabele bij en drukt het eindproduct af (uitvoer: 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)>

>

>

Uitgang:

6>

Tijdcomplexiteit: Op), waarbij n de lengte van de invoerlijst is. Hulpruimte: O(1), die constant is.

Vermenigvuldig alle getallen in de lijst met For Loop

Om alle getallen in een lijst te vermenigvuldigen met a For loop , kunt u elk element van de lijst doorlopen en een actieve productvariabele bijwerken.

Voorbeeld :In dit voorbeeld is demultiply_list>functie neemt een lijst als invoer en initialiseert een variabeleproduct>tot 1. Vervolgens wordt elk element in de lijst doorlopen, waarbij het product wordt bijgewerkt door het te vermenigvuldigen met het huidige element

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)>

>

>

Uitgang:

120>

Tijdcomplexiteit : O(n), waarbij n de lengte van de invoerlijst is.
Hulpruimte : O(1).

Vermenigvuldig alle getallen in de lijst met behulp van indexanalyse

In dit voorbeeld definieert de onderstaande code een functie, `multiplyList`, om het product van lijstelementen te vinden met behulp van een traversal-benadering. Het vermenigvuldigt elk element in de lijst opeenvolgend. Demonstraties met de lijsten `[1, 2, 3]` en `[3, 2, 4]` leveren respectievelijk resultaten op van 6 en 24.

Python3


hashtabel versus hashmap



# 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))>

>

>

Uitgang:

6 24>

Tijdcomplexiteit : O(n), waarbij n de lengte van de invoerlijst is. Hulpruimte : O(1).

Vermenigvuldig alle getallen in de lijst u sing itertools.accumuleren

De `itertools.accumuleren De functie ` wordt gebruikt voor cumulatieve bewerkingen op een iterabele. In dit geval accumuleert het het product van elementen in de lijsten. De lambda-functie `(lambda x, y: x * y)` definieert de vermenigvuldigingsbewerking en de uiteindelijke resultaten worden verkregen uit de geaccumuleerde waarden.

Voorbeeld : In dit voorbeeld gebruikt de onderstaande code `itertools.accumulate` met een lambda-functie om waarden in de lijsten `[1, 2, 3]` en `[3, 2, 4]` te vermenigvuldigen. De verzamelde resultaten worden omgezet in lijsten en de laatste elementen worden afgedrukt (uitvoer: 6 en 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>])>

>

char naar int

>

Uitgang:

  6     24>

Tijdcomplexiteit: O(n), waarbij n de lengte van de invoerlijst is. Hulpruimte: Op)

Vermenigvuldig alle getallen in de lijst met behulp van de recursieve functie

De functie product_ recursief() neemt een lijst met getallen als invoer en retourneert het product van alle getallen in de lijst, met behulp van een recursieve benadering.

Voorbeeld : In dit voorbeeld definieert de onderstaande code een recursieve functie, `product_recursive`, om het product van de elementen van een lijst te berekenen. Het behandelt basis- en recursieve gevallen en demonstreert de functionaliteit ervan met de lijsten '[1, 2, 3]' en '[3, 2, 4]', resulterend in uitvoer van respectievelijk 6 en 24.

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>

>

>

Uitgang:

6 24>

Tijdcomplexiteit: O(n), waarbij n het aantal elementen in de lijst is.
Complexiteit van de ruimte :Op)

Vermenigvuldig alle getallen in de lijst met behulp van reduce() en de mul()-functie

Eén manier om dit probleem op te lossen is het gebruik van de ingebouwde reduce() functie uit de functools-module, die een functie op cumulatieve wijze op een iterabele kan toepassen. We kunnen de functie operator.mul() gebruiken om de elementen met elkaar te vermenigvuldigen.

Voorbeeld : In dit voorbeeld gebruikt de onderstaande code `functools.reduce` en `operator.mul` om elementen in de lijst [1, 2, 3] te vermenigvuldigen, waardoor het cumulatieve product wordt afgedrukt (uitvoer: 6). Het toont de effectiviteit van de functie 'verminderen' voor beknopte cumulatieve bewerkingen.

Python3




from> functools>import> reduce> from> operator>import> mul> list1>=> [>1>,>2>,>3>]> result>=> reduce>(mul, list1)> print>(result)>

>

>

Uitgang:

6>

Tijdcomplexiteit : Op)
Hulpruimte: O(1)