logo

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

java hashmap

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 ermultiply_list>funksjonen tar en liste som input og initialiserer en variabelproduct>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>])>

>

heapify sortering

>

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)