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)