Python | Vynásobte všetky čísla v zozname

Vzhľadom na zoznam vytlačte hodnotu získanú po vynásobení všetkých čísel v a Python zoznam.

Príklady:

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

Vynásobte všetky čísla v zozname v Pythone

Existuje viacero prístupov k vykonávaniu násobenia v rámci zoznamu. V tomto kontexte použijeme bežne používané metódy na násobenie v Pythone, ako je uvedené nižšie.

  • Použitie Traversal
  • Použitím numpy.prod()
  • Použitie funkcie lambda
  • Použitím Matematická knižnica
  • Použitím Mám() funkciu
  • Použitie prechodu podľa indexu
  • Použitím Pre slučku
  • Použitím itertools.accumulate()
  • Použitie rekurzívnej funkcie

Vynásobte všetky čísla v zozname pomocou Prechádzanie

Inicializujte hodnotu produktu na 1 (nie 0, pretože 0 vynásobená čímkoľvek vráti nulu). Prejdite až na koniec zoznamu, vynásobte každé číslo súčinom. Hodnota uložená v produkte na konci vám dá konečnú odpoveď.

Príklad : V tomto príklade nižšie uvedený kód používa traversálny prístup vo funkcii ` multiplyList 'na výpočet súčinu prvkov v zoznamoch '[1, 2, 3]' a '[3, 2, 4]', výsledkom čoho sú výstupy 6 a 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))>

Výkon :

6 24 

Časová zložitosť: O(n), kde n je počet prvkov v zozname.
Pomocný priestor: O(1),

Vynásobte všetky čísla v zozname u ten numpy.prod()

Môžeme použiť numpy.prod() z importu numpy získate násobenie všetkých čísel v zozname. V závislosti od výsledku násobenia vráti celé číslo alebo plávajúcu hodnotu.

Príklad: V tomto príklade kód uvedený nižšie používa „numpy.prod()“ na nájdenie súčinu prvkov v zoznamoch „[1, 2, 3]“ a „[3, 2, 4]“, výsledkom čoho sú výstupy 6 a 24, resp.

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

Výkon :

6 24 

Časová zložitosť: O(n), kde n je dĺžka vstupných zoznamov.
Pomocný priestor: O(1).

Vynásobte všetky čísla v zozname u funkcia spievať lambda

lambda' s definícia nezahŕňa a vrátiť vždy obsahuje výraz, ktorý sa vráti. Definíciu lambda môžeme tiež umiestniť kdekoľvek, kde sa očakáva funkcia, a vôbec ju nemusíme priraďovať k premennej. Toto je jednoduchosť funkcií lambda. The znížiť () funkcia v Pythone berie funkciu a zoznam ako argument. Funkcia sa volá s funkciou lambda a zoznamom a n vráti sa nový znížený výsledok . Toto vykoná opakovanú operáciu nad pármi zoznamu.

Príklad: V tomto príklade kód uvedený nižšie používa funkciu „functools.reduce“ Pythonu s funkciou lambda na vynásobenie všetkých hodnôt v zoznamoch „[1, 2, 3]“ a „[3, 2, 4]“. Výsledky 6 a 24 sa vytlačia.

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

Výkon :

6 24 

Časová zložitosť: O(n) – kde n je dĺžka dlhšieho zoznamu.
Pomocný priestor: O(1) – použitá pamäť je konštantná, pretože sa nevytvárajú žiadne extra dátové štruktúry.

Vynásobte všetky čísla v zozname u spievať prod funkciu matematickej knižnice

Od Pythonu 3.8 bola do súboru zahrnutá funkcia prod matematický modul v štandardnej knižnici, takže nie je potrebné inštalovať externé knižnice.

Príklad: V tomto príklade kód uvedený nižšie využíva funkciu „math.prod“ Pythonu na výpočet súčinu všetkých hodnôt v zoznamoch „[1, 2, 3]“ a „[3, 2, 4]“. Výsledky 6 a 24 sa vytlačia.

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

Výkon:

6 24 

Časová zložitosť : O(n), kde n je dĺžka vstupného zoznamu.
Pomocný priestor: O(1)

Vynásobte všetky čísla v zozname u Funkcia sing mul() operátorského modulu.

Najprv musíme importovať operátorský modul a potom pomocou funkcia mul(). operátorského modulu vynásobením všetkých hodnôt v zozname. V tomto príklade kód uvedený nižšie vynásobí všetky čísla v zozname „[1, 2, 3]“ pomocou funkcie „mul“ modulu „operátor“. Iteruje zoznam, aktualizuje výslednú premennú a vytlačí konečný produkt (výstup: 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)>

Výkon :

6 

Časová zložitosť: O(n), kde n je dĺžka zoznamu vstupov. Pomocný priestor: O(1), ktorá je konštantná.

Vynásobte všetky čísla v zozname pomocou For Loop

Ak chcete vynásobiť všetky čísla v zozname pomocou a Pre Loop , môžete iterovať cez každý prvok zoznamu a aktualizovať premennú spusteného produktu.

Príklad :V tomto príklade je multiply_list> funkcia berie zoznam ako vstup a inicializuje premennú product> na 1. Potom prechádza cez každý prvok v zozname a aktualizuje produkt jeho vynásobením aktuálnym prvkom

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

Výkon :

120 

Časová zložitosť : O(n), kde n je dĺžka vstupného zoznamu.
Pomocný priestor : O(1).

Vynásobte všetky čísla v zozname pomocou prechodu podľa indexu

V tomto príklade nižšie uvedený kód definuje funkciu `multiplyList` na nájdenie súčinu prvkov zoznamu pomocou prechodu. Postupne vynásobí každý prvok v zozname. Ukážky so zoznamami „[1, 2, 3]“ a „[3, 2, 4]“ poskytujú výstupy 6 a 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))>

Výkon :

6 24 

Časová zložitosť : O(n), kde n je dĺžka vstupného zoznamu. Pomocný priestor : O(1).

Vynásobte všetky čísla v zozname u spievať itertools.hromadiť

The `itertools.hromadiť Funkcia ` sa používa na kumulatívne operácie s iterovateľným. V tomto prípade akumuluje súčin prvkov v zoznamoch. Funkcia lambda (lambda x, y: x * y) definuje operáciu násobenia a konečné výsledky sa získajú z akumulovaných hodnôt.

Príklad: V tomto príklade kód uvedený nižšie využíva „itertools.accumulate“ s funkciou lambda na násobenie hodnôt v zoznamoch „[1, 2, 3]“ a „[3, 2, 4]“. Nahromadené výsledky sa skonvertujú na zoznamy a vytlačia sa posledné prvky (výstupy: 6 a 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> ])>

Výkon:

  6     24 

Časová zložitosť: O(n), kde n je dĺžka zoznamu vstupov. Pomocný priestor: O(n)

Vynásobte všetky čísla v zozname pomocou rekurzívnej funkcie

Funkčný produkt_ rekurzívny() vezme zoznam čísel ako vstup a vráti súčin všetkých čísel v zozname pomocou rekurzívneho prístupu.

Príklad : V tomto príklade nižšie uvedený kód definuje rekurzívnu funkciu „product_recursive“ na výpočet súčinu prvkov zoznamu. Zaoberá sa základnými a rekurzívnymi prípadmi, pričom svoju funkčnosť demonštruje pomocou zoznamov „[1, 2, 3]“ a „[3, 2, 4]“, výsledkom čoho sú výstupy 6 a 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>

Výkon :

6 24 

Časová zložitosť: O(n), kde n je počet prvkov v zozname.
Priestorová zložitosť :O(n)

Vynásobte všetky čísla v zozname Pomocou funkcie Redukovať() a mul().

Jedným zo spôsobov riešenia tohto problému je použitie vstavaného redukcia() funkcie z modulu functools, ktorý môže aplikovať funkciu na iterovateľný kumulatívnym spôsobom. Na znásobenie prvkov spolu môžeme použiť funkciu operator.mul().

Príklad: V tomto príklade nižšie uvedený kód využíva `functools.reduce` a `operator.mul` na násobenie prvkov v zozname [1, 2, 3], čím sa vytlačí kumulatívny súčin (výstup: 6). Ukazuje účinnosť funkcie „znížiť“ pre stručné kumulatívne operácie.

Python3




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

Výkon :

6 

Časová zložitosť : O(n)
Pomocný priestor: O(1)