Python | Multipliser alle tallene i listen

Gitt en liste, skriv ut verdien oppnådd etter å ha multiplisert alle tallene i en Python liste.

Eksempler:

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

Multipliser alle tallene i listen i Python

Det er flere tilnærminger til å utføre multiplikasjon i en liste. I denne sammenhengen vil vi bruke vanlige metoder for å multiplisere i Python, som skissert nedenfor.

  • Bruker Traversal
  • Ved hjelp av numpy.prod()
  • Bruker lambda-funksjon
  • Ved hjelp av Matematisk bibliotek
  • Ved hjelp av Jeg har() funksjon
  • Bruker traversering etter indeks
  • Ved hjelp av For loop
  • Ved hjelp av itertools.accumulate()
  • Bruker rekursiv funksjon

Multipliser alle tallene i listen med Traversering

Initialiser verdien av produktet til 1 (ikke 0 da 0 multiplisert med noe returnerer null). Gå til slutten av listen, multipliser hvert tall med produktet. Verdien som er lagret i produktet på slutten vil gi deg det endelige svaret.

Eksempel : I dette eksemplet bruker koden nedenfor en traversal-tilnærming i funksjonen ` multiplisere Liste ` for å beregne produktet av elementene i listene `[1, 2, 3]` og `[3, 2, 4]`, noe som resulterer i utdata 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))>

Utgang:

6 24 

Tidskompleksitet: O(n), hvor n er antall elementer i listen.
Ekstra plass: O(1),

Multipliser alle tallene i listen u at numpy.prod()

Vi kan bruke numpy.prod() fra import numpy for å få multiplikasjonen av alle tallene i listen. Den returnerer et heltall eller en flytende verdi avhengig av multiplikasjonsresultatet.

Eksempel: I dette eksemplet bruker koden nedenfor `numpy.prod()` for å finne produktet av elementer i listene `[1, 2, 3]` og `[3, 2, 4]`, noe som resulterer i utdata på 6 og 24, hhv.

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

Utgang:

6 24 

Tidskompleksitet: O(n), hvor n er lengden på inndatalistene.
Ekstra plass: O(1).

Multipliser alle tallene i listen u synge lambda-funksjon

Lambda’ s definisjon inkluderer ikke en komme tilbake setning, inneholder den alltid et uttrykk som returneres. Vi kan også sette en lambda-definisjon hvor som helst hvor en funksjon forventes, og vi trenger ikke å tilordne den til en variabel i det hele tatt. Dette er enkelheten til lambda-funksjonene. De redusere() funksjon i Python tar inn en funksjon og en liste som et argument. Funksjonen kalles med en lambda-funksjon og en liste og en n ew redusert resultat returneres . Dette utfører en repeterende operasjon over parene på listen.

Eksempel: I dette eksemplet bruker koden nedenfor Pythons `functools.reduce` med en lambda-funksjon for å multiplisere alle verdiene i listene `[1, 2, 3]` og `[3, 2, 4]`. Resultatene, 6 og 24, skrives ut.

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

Utgang:

6 24 

Tidskompleksitet: O(n) – hvor n er lengden på den lengre listen.
Ekstra plass: O(1) – minnet som brukes er konstant, da det ikke opprettes ekstra datastrukturer.

Multipliser alle tallene i listen u synge prod-funksjonen til matematikkbiblioteket

Fra og med Python 3.8 har en prod-funksjon blitt inkludert i matematikk modul i standardbiblioteket, dermed ikke nødvendig å installere eksterne biblioteker.

Eksempel: I dette eksemplet bruker koden nedenfor Pythons `math.prod`-funksjon for å beregne produktet av alle verdiene i listene `[1, 2, 3]` og `[3, 2, 4]`. Resultatene, 6 og 24, skrives ut.

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

Produksjon:

6 24 

Tidskompleksitet : O(n), hvor n er lengden på inndatalisten.
Ekstra plass: O(1)

Multipliser alle tallene i listen u sing mul()-funksjonen til operatørmodulen.

Først må vi importere operatørmodulen og deretter bruke mul() funksjon av operatørmodul som multipliserer alle verdiene i listen. I dette eksemplet multipliserer koden nedenfor alle tallene i listen «[1, 2, 3]» ved å bruke «operatør»-modulens «mul»-funksjon. Den itererer gjennom listen, oppdaterer resultatvariabelen og skriver ut sluttproduktet (utdata: 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)>

Utgang:

6 

Tidskompleksitet: På), hvor n er lengden på inndatalisten. Ekstra plass: O(1), som er konstant.

Multipliser alle tallene i listen med For Loop

For å multiplisere alle tallene i en liste med a For Loop , kan du iterere gjennom hvert element i listen og oppdatere en kjørende produktvariabel.

Eksempel :I dette eksemplet er multiply_list> funksjonen tar en liste som input og initialiserer en variabel product> til 1. Den itererer deretter gjennom hvert element i listen, og oppdaterer produktet ved å multiplisere det med det gjeldende elementet

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

Utgang:

120 

Tidskompleksitet : O(n), der n er lengden på inndatalisten.
Hjelpeplass :O(1).

Multipliser alle tallene i listen ved å bruke traversering etter indeks

I dette eksemplet definerer koden nedenfor en funksjon, `multiplyList`, for å finne produktet av listeelementer ved å bruke en traversal-tilnærming. Den multipliserer sekvensielt hvert element i listen. Demonstrasjoner med listene `[1, 2, 3]` og `[3, 2, 4]` gir utganger 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))>

Utgang:

6 24 

Tidskompleksitet : O(n), hvor n er lengden på inndatalisten. Hjelpeplass :O(1).

Multipliser alle tallene i listen u synge itertools.akkumulere

De `itertools.accumulere `-funksjonen brukes for kumulative operasjoner på en iterabel. I dette tilfellet akkumulerer den produktet av elementer i listene. Lambda-funksjonen `(lambda x, y: x * y)` definerer multiplikasjonsoperasjonen, og de endelige resultatene oppnås fra de akkumulerte verdiene.

Eksempel: I dette eksemplet bruker koden nedenfor `itertools.accumulate` med en lambda-funksjon for å multiplisere verdier i listene `[1, 2, 3]` og `[3, 2, 4]`. Akkumulerte resultater konverteres til lister, og de siste elementene skrives ut (utdata: 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> ])>

Produksjon:

  6     24 

Tidskompleksitet: O(n), hvor n er lengden på inndatalisten. Hjelpeplass: På)

Multipliser alle tallene i listen ved å bruke den rekursive funksjonen

Funksjonen produkt_ tilbakevendende() tar en liste med tall som input og returnerer produktet av alle tallene i listen, ved å bruke en rekursiv tilnærming.

Eksempel : I dette eksemplet definerer koden nedenfor en rekursiv funksjon, 'produkt_rekursiv', for å beregne produktet av en listes elementer. Den håndterer grunnleggende og rekursive tilfeller, og demonstrerer funksjonaliteten med listene `[1, 2, 3]` og `[3, 2, 4]`, noe som resulterer i utganger 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>

Utgang:

6 24 

Tidskompleksitet: O(n), hvor n er antall elementer i listen.
Romkompleksitet :På)

Multipliser alle tallene i listen ved å bruke reduce() og mul()-funksjonen

En tilnærming for å løse dette problemet er å bruke den innebygde redusere() funksjon fra functools-modulen, som kan bruke en funksjon til en iterable på en kumulativ måte. Vi kan bruke funksjonen operator.mul() til å multiplisere elementene sammen.

Eksempel: I dette eksemplet bruker koden nedenfor `functools.reduce` og `operator.mul` for å multiplisere elementer i listen [1, 2, 3], og skriver ut det kumulative produktet (utdata: 6). Den viser effektiviteten til 'reduser'-funksjonen for konsise kumulative operasjoner.

Python3




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

Utgang:

6 

Tidskompleksitet : O(n)
Ekstra plass: O(1)