logo

Python | Gang alle tal på listen

Givet en liste, udskriv den opnåede værdi efter at have ganget alle tal i a Python liste.

Eksempler:



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

Multiplicer alle tal på listen i Python

Der er flere metoder til at udføre multiplikation på en liste. I denne sammenhæng vil vi bruge almindeligt anvendte metoder til, hvordan man multiplicerer i Python, som beskrevet nedenfor.

  • Brug af Traversal
  • Ved brug af numpy.prod()
  • Bruger lambda funktion
  • Ved brug af Matematik bibliotek
  • Ved brug af Jeg har() fungere
  • Brug af gennemløb efter indeks
  • Ved brug af Til sløjfe
  • Ved brug af itertools.accumulate()
  • Brug af rekursiv funktion

Gang alle tal på listen vha Traversering

Initialiser værdien af ​​produktet til 1 (ikke 0, da 0 ganget med noget returnerer nul). Gå til slutningen af ​​listen, gang hvert tal med produktet. Værdien gemt i produktet i slutningen vil give dig dit endelige svar.

Eksempel : I dette eksempel bruger nedenstående kode en traversal tilgang i funktionen ` multiplicere Liste ` for at beregne produktet af elementer i listerne `[1, 2, 3]` og `[3, 2, 4]`, hvilket resulterer i output på henholdsvis 6 og 24.



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

>

>

Output:

6 24>

Tidskompleksitet: O(n), hvor n er antallet af elementer i listen.
Hjælpeplads: O(1),

java hashmap

Gang alle tal på listen u det numpy.prod()

Vi kan bruge numpy.prod() fra import numpy for at få multiplikationen af ​​alle tallene på listen. Det returnerer et heltal eller en flydende værdi afhængigt af multiplikationsresultatet.

Eksempel: I dette eksempel bruger nedenstående kode `numpy.prod()` til at finde produktet af elementer i listerne `[1, 2, 3]` og `[3, 2, 4]`, hvilket resulterer i output på 6 og 24, henholdsvis.

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

>

>

Output:

6 24>

Tidskompleksitet: O(n), hvor n er længden af ​​inputlisterne.
Hjælpeplads: O(1).

Gang alle tal på listen u synge lambda funktion

Lambda’ s definition omfatter ikke en Vend tilbage sætning, indeholder den altid et udtryk, der returneres. Vi kan også sætte en lambda-definition overalt, hvor en funktion forventes, og vi behøver slet ikke at tildele den til en variabel. Dette er enkelheden ved lambda-funktioner. Det reducere() funktion i Python tager en funktion og en liste ind som et argument. Funktionen kaldes med en lambdafunktion og en liste og et n ew reduceret resultat returneres . Dette udfører en gentagen operation over parrene på listen.

Eksempel: I dette eksempel bruger nedenstående kode Pythons `functools.reduce` med en lambda-funktion til at gange alle værdier i listerne `[1, 2, 3]` og `[3, 2, 4]`. Resultaterne, 6 og 24, udskrives.

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

>

>

Output:

6 24>

Tidskompleksitet: O(n) – hvor n er længden af ​​den længere liste.
Hjælpeplads: O(1) – den anvendte hukommelse er konstant, da der ikke oprettes ekstra datastrukturer.

Gang alle tal på listen u synge prod-funktion i matematikbiblioteket

Fra Python 3.8 er der inkluderet en prod-funktion i matematik modul i standardbiblioteket, og det er derfor ikke nødvendigt at installere eksterne biblioteker.

Eksempel: I dette eksempel bruger nedenstående kode Pythons `math.prod`-funktion til at beregne produktet af alle værdier i listerne `[1, 2, 3]` og `[3, 2, 4]`. Resultaterne, 6 og 24, udskrives.

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

>

>

Produktion:

6 24>

Tidskompleksitet : O(n), hvor n er længden af ​​inputlisten.
Hjælpeplads: O(1)

Gang alle tal på listen u sing mul() funktion af operatormodul.

Først skal vi importere operatørmodulet og derefter bruge mul() funktion af operatørmodulet ved at gange alle værdierne på listen. I dette eksempel multiplicerer nedenstående kode alle tal på listen '[1, 2, 3]' ved hjælp af 'operatør'-modulets 'mul'-funktion. Den gentager listen, opdaterer resultatvariablen og udskriver det endelige produkt (output: 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)>

>

>

Output:

6>

Tidskompleksitet: På), hvor n er længden af ​​inputlisten. Hjælpeplads: O(1), som er konstant.

Multiplicer alle tal på listen med For Loop

For at gange alle tal på en liste ved hjælp af a Til Loop , kan du iterere gennem hvert element på listen og opdatere en kørende produktvariabel.

Eksempel :I dette eksempel ermultiply_list>funktion tager en liste som input og initialiserer en variabelproduct>til 1. Den itererer derefter gennem hvert element på listen, og opdaterer produktet ved at gange det med det aktuelle 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)>

>

>

Output:

120>

Tidskompleksitet : O(n), hvor n er længden af ​​inputlisten.
Hjælpeplads : O(1).

Gang alle tal på listen ved at bruge krydsning efter indeks

I dette eksempel definerer nedenstående kode en funktion, `multiplyList`, til at finde produktet af listeelementer ved hjælp af en traversal tilgang. Den multiplicerer sekventielt hvert element på listen. Demonstrationer med listerne `[1, 2, 3]` og `[3, 2, 4]` giver output på henholdsvis 6 og 24.

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

>

>

Output:

6 24>

Tidskompleksitet : O(n), hvor n er længden af ​​inputlisten. Hjælpeplads : O(1).

Gang alle tal på listen u synge itertools.akkumulere

Det `itertools.accumulere ` funktion bruges til kumulative operationer på en iterabel. I dette tilfælde akkumulerer det produktet af elementer i listerne. Lambda-funktionen `(lambda x, y: x * y)` definerer multiplikationsoperationen, og de endelige resultater opnås fra de akkumulerede værdier.

Eksempel: I dette eksempel bruger nedenstående kode `itertools.accumulate` med en lambda-funktion til at multiplicere værdier i listerne `[1, 2, 3]` og `[3, 2, 4]`. Akkumulerede resultater konverteres til lister, og de sidste elementer udskrives (output: 6 og 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>])>

>

heapify sortering

>

Produktion:

  6     24>

Tidskompleksitet: O(n), hvor n er længden af ​​inputlisten. Hjælpeplads: På)

Multiplicer alle tal på listen ved hjælp af den rekursive funktion

Funktionen produkt_ rekursiv() tager en liste over tal som input og returnerer produktet af alle tallene på listen ved hjælp af en rekursiv tilgang.

Eksempel : I dette eksempel definerer nedenstående kode en rekursiv funktion, 'produkt_rekursiv', til at beregne produktet af en listes elementer. Den håndterer basis- og rekursive tilfælde og demonstrerer dens funktionalitet med listerne `[1, 2, 3]` og `[3, 2, 4]`, hvilket resulterer i output på henholdsvis 6 og 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>

>

>

Output:

6 24>

Tidskompleksitet: O(n), hvor n er antallet af elementer i listen.
Rumkompleksitet :På)

Multiplicer alle tal på listen Brug reduce() og mul()-funktionen

En tilgang til at løse dette problem er at bruge den indbyggede reduce() funktion fra functools-modulet, som kan anvende en funktion til en iterable på en kumulativ måde. Vi kan bruge funktionen operator.mul() til at gange elementerne sammen.

Eksempel: I dette eksempel bruger nedenstående kode `functools.reduce` og `operator.mul` til at multiplicere elementer i listen [1, 2, 3], og udskriver det kumulative produkt (output: 6). Det viser effektiviteten af ​​'reducer'-funktionen for kortfattede kumulative operationer.

Python3




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

>

>

Output:

6>

Tidskompleksitet : På)
Hjælpeplads: O(1)