Având o listă, tipăriți valoarea obținută după înmulțirea tuturor numerelor din a Piton listă.
Exemple:
Input : list1 = [1, 2, 3] Output : 6 Explanation : 1*2*3=6 Input : list1 = [3, 2, 4] Output : 24>
Înmulțiți toate numerele din listă în Python
Există mai multe abordări pentru a efectua înmulțirea într-o listă. În acest context, vom folosi metode utilizate în mod obișnuit despre cum să ne înmulțim în Python, așa cum este prezentat mai jos.
- Folosind Traversal
- Folosind numpy.prod()
- Utilizarea funcției lambda
- Folosind Biblioteca de matematică
- Folosind Eu am() funcţie
- Folosind traversarea prin index
- Folosind Pentru buclă
- Folosind itertools.accumulate()
- Utilizarea funcției recursive
Înmulțiți toate numerele din listă folosind Traversare
Inițializați valoarea produsului la 1 (nu 0, deoarece 0 înmulțit cu orice returnează zero). Parcurgeți până la sfârșitul listei, înmulțiți fiecare număr cu produsul. Valoarea stocată în produs la sfârșit vă va oferi răspunsul final.
Exemplu : În acest exemplu, codul de mai jos folosește o abordare transversală în funcția ` multiplyList ` pentru a calcula produsul elementelor din listele `[1, 2, 3]` și `[3, 2, 4]`, rezultând rezultate de 6 și, respectiv, 24.
Piton
# 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))> |
>
>
Ieșire:
6 24>
Complexitatea timpului: O(n), unde n este numărul de elemente din listă.
Spatiu auxiliar: O(1),
Înmulțiți toate numerele din listă u acel numpy.prod()
Putem folosi numpy.prod() din import numpy pentru a obține înmulțirea tuturor numerelor din listă. Returnează un număr întreg sau o valoare flotantă în funcție de rezultatul înmulțirii.
Exemplu: În acest exemplu, codul de mai jos folosește `numpy.prod()` pentru a găsi produsul elementelor din listele `[1, 2, 3]` și `[3, 2, 4]`, rezultând rezultate de 6 și 24, respectiv.
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)> |
>
>
Ieșire:
6 24>
Complexitatea timpului: O(n), unde n este lungimea listelor de intrare.
Spatiu auxiliar: O(1).
Înmulțiți toate numerele din listă u canta functia lambda
Lambda’ Definiția nu include a întoarcere declarație, conține întotdeauna o expresie care este returnată. De asemenea, putem pune o definiție lambda oriunde este așteptată o funcție și nu trebuie deloc să o atribuim unei variabile. Aceasta este simplitatea funcțiilor lambda. The reduce() funcția din Python preia o funcție și o listă ca argument. Funcția este apelată cu o funcție lambda și o listă și un n nou rezultat redus este returnat . Aceasta efectuează o operație repetitivă peste perechile listei.
Exemplu: În acest exemplu, codul de mai jos folosește `functools.reduce` al lui Python cu o funcție lambda pentru a multiplica toate valorile din listele `[1, 2, 3]` și `[3, 2, 4]`. Rezultatele, 6 și 24, sunt tipărite.
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)> |
>
>
Ieșire:
6 24>
Complexitatea timpului: O(n) – unde n este lungimea listei mai lungi.
Spatiu auxiliar: O(1) – memoria utilizată este constantă, deoarece nu se creează structuri de date suplimentare.
Înmulțiți toate numerele din listă u funcția sing prod a bibliotecii de matematică
Începând cu Python 3.8, o funcție prod a fost inclusă în modul de matematică în biblioteca standard, deci nu este nevoie să instalați biblioteci externe.
Exemplu: În acest exemplu, codul de mai jos utilizează funcția `math.prod` a lui Python pentru a calcula produsul tuturor valorilor din listele `[1, 2, 3]` și `[3, 2, 4]`. Rezultatele, 6 și 24, sunt tipărite.
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)> |
>
>
Ieșire:
6 24>
Complexitatea timpului : O(n), unde n este lungimea listei de intrare.
Spatiu auxiliar: O(1)
Înmulțiți toate numerele din listă u sing mul() funcția modulului operator.
Mai întâi trebuie să importam modulul operator, apoi folosind funcția mul(). a modulului operator înmulțind toate valorile din listă. În acest exemplu, codul de mai jos înmulțește toate numerele din listă `[1, 2, 3]` folosind funcția `mul` a modulului `operator`. Iterează prin listă, actualizează variabila rezultat și tipărește produsul final (ieșire: 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)> |
>
>
Ieșire:
6>
Complexitatea timpului: Pe), unde n este lungimea listei de intrare. Spatiu auxiliar: O(1), care este constantă.
Înmulțiți toate numerele din listă folosind For Loop
Pentru a înmulți toate numerele dintr-o listă folosind a Pentru Loop , puteți să parcurgeți fiecare element al listei și să actualizați o variabilă de produs care rulează.
Exemplu : În acest exemplu,multiply_list>funcția preia o listă ca intrare și inițializează o variabilăproduct>la 1. Apoi iterează prin fiecare element din listă, actualizând produsul prin înmulțirea acestuia cu elementul curent
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)> |
>
>
Ieșire:
120>
Complexitatea timpului : O(n), unde n este lungimea listei de intrare.
Spațiu auxiliar : O(1).
Înmulțiți toate numerele din listă folosind traversarea prin index
În acest exemplu, codul de mai jos definește o funcție, `multiplyList`, pentru a găsi produsul elementelor listei folosind o abordare traversală. Înmulțește secvențial fiecare element din listă. Demonstrațiile cu listele `[1, 2, 3]` și `[3, 2, 4]` produc rezultate de 6 și, respectiv, 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))> |
>
>
Ieșire:
6 24>
Complexitatea timpului : O(n), unde n este lungimea listei de intrare. Spațiu auxiliar : O(1).
Înmulțiți toate numerele din listă u sing itertools.acumulare
The `itertools.acumuleze Funcția ` este utilizată pentru operații cumulate pe un iterabil. În acest caz, acumulează produsul elementelor din liste. Funcția lambda `(lambda x, y: x * y)` definește operația de înmulțire, iar rezultatele finale se obțin din valorile acumulate.
Exemplu: În acest exemplu, codul de mai jos utilizează `itertools.accumulate` cu o funcție lambda pentru a multiplica valorile din listele `[1, 2, 3]` și `[3, 2, 4]`. Rezultatele acumulate sunt convertite în liste, iar ultimele elemente sunt tipărite (ieșiri: 6 și 24).
Piton
# 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>])> |
>
>
Ieșire:
6 24>
Complexitatea timpului: O(n), unde n este lungimea listei de intrare. Spatiu auxiliar: Pe)
Înmulțiți toate numerele din listă folosind funcția recursivă
Funcția produs_ recursiv() ia o listă de numere ca intrare și returnează produsul tuturor numerelor din listă, folosind o abordare recursivă.
Exemplu : În acest exemplu, codul de mai jos definește o funcție recursivă, `product_recursive`, pentru a calcula produsul elementelor unei liste. Se ocupă de cazurile de bază și recursive, demonstrându-și funcționalitatea cu listele `[1, 2, 3]` și `[3, 2, 4]`, rezultând rezultate de 6 și, respectiv, 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> |
>
>
Ieșire:
6 24>
Complexitatea timpului: O(n), unde n este numărul de elemente din listă.
Complexitatea spațială :Pe)
Înmulțiți toate numerele din listă folosind reduce() și funcția mul().
O abordare pentru a rezolva această problemă este utilizarea încorporată funcția reduce(). din modulul functools, care poate aplica o funcție unui iterabil într-un mod cumulativ. Putem folosi funcția operator.mul() pentru a înmulți elementele împreună.
Exemplu: În acest exemplu, codul de mai jos utilizează `functools.reduce` și `operator.mul` pentru a multiplica elementele din lista [1, 2, 3], imprimând produsul cumulat (ieșire: 6). Prezintă eficiența funcției „reduce” pentru operațiuni cumulate concise.
Python3
from> functools>import> reduce> from> operator>import> mul> list1>=> [>1>,>2>,>3>]> result>=> reduce>(mul, list1)> print>(result)> |
greierul meu
>
>
Ieșire:
6>
Complexitatea timpului : Pe)
Spatiu auxiliar: O(1)