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)