Python | Înmulțiți toate numerele din listă
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)> |
Ieșire:
6
Complexitatea timpului : Pe)
Spatiu auxiliar: O(1)