Máte-li seznam, vytiskněte hodnotu získanou po vynásobení všech čísel v a Krajta seznam.
Příklady:
Input : list1 = [1, 2, 3] Output : 6 Explanation : 1*2*3=6 Input : list1 = [3, 2, 4] Output : 24>
Vynásobte všechna čísla v seznamu v Pythonu
Existuje několik přístupů k provádění násobení v rámci seznamu. V této souvislosti použijeme běžně používané metody násobení v Pythonu, jak je uvedeno níže.
- Pomocí Traversal
- Použitím numpy.prod()
- Použití funkce lambda
- Použitím Matematická knihovna
- Použitím Mám() funkce
- Použití procházení podle indexu
- Použitím Pro smyčku
- Použitím itertools.accumulate()
- Použití rekurzivní funkce
Vynásobte všechna čísla v seznamu pomocí Průjezd
Inicializujte hodnotu součinu na 1 (ne 0, protože 0 vynásobená čímkoli vrátí nulu). Projděte až na konec seznamu, vynásobte každé číslo součinem. Konečnou odpověď vám dá hodnota uložená v produktu na konci.
java převést int na řetězec
Příklad : V tomto příkladu níže uvedený kód používá traversální přístup ve funkci ` multiplyList ` k výpočtu součinu prvků v seznamech `[1, 2, 3]` a `[3, 2, 4]`, což má za následek výstupy 6 a 24, v tomto pořadí.
Krajta
# 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ýstup :
6 24>
Časová složitost: O(n), kde n je počet prvků v seznamu.
Pomocný prostor: O(1),
Vynásobte všechna čísla v seznamu u ten numpy.prod()
Můžeme použít numpy.prod() z import numpy získat násobení všech čísel v seznamu. Vrací celé číslo nebo plovoucí hodnotu v závislosti na výsledku násobení.
Příklad: V tomto příkladu níže uvedený kód používá `numpy.prod()` k nalezení součinu prvků v seznamech `[1, 2, 3]` a `[3, 2, 4]`, což vede k výstupům 6 a 24, respektive.
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ýstup :
6 24>
Časová složitost: O(n), kde n je délka vstupních seznamů.
Pomocný prostor: O(1).
Vynásobte všechna čísla v seznamu u funkce sing lambda
lambda' s definice nezahrnuje a vrátit se vždy obsahuje výraz, který je vrácen. Definici lambda můžeme také umístit kamkoli, kde se očekává funkce, a vůbec ji nemusíme přiřazovat proměnné. To je jednoduchost funkcí lambda. The snížit() funkce v Pythonu bere funkci a seznam jako argument. Funkce se volá s funkcí lambda a seznamem a n je vrácen nový redukovaný výsledek . Tím se provede opakovaná operace nad dvojicemi seznamu.
Příklad: V tomto příkladu níže uvedený kód používá `functools.reduce` Pythonu s funkcí lambda k vynásobení všech hodnot v seznamech `[1, 2, 3]` a `[3, 2, 4]`. Výsledky 6 a 24 jsou vytištěny.
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ýstup :
6 24>
Časová složitost: O(n) – kde n je délka delšího seznamu.
Pomocný prostor: O(1) – použitá paměť je konstantní, protože nevznikají žádné další datové struktury.
Vynásobte všechna čísla v seznamu u sing prod funkce matematické knihovny
Počínaje Pythonem 3.8 byla do souboru zahrnuta funkce prod matematický modul ve standardní knihovně, takže není třeba instalovat externí knihovny.
Příklad: V tomto příkladu níže uvedený kód využívá funkci `math.prod` Pythonu k výpočtu součinu všech hodnot v seznamech `[1, 2, 3]` a `[3, 2, 4]`. Výsledky 6 a 24 jsou vytištěny.
Python3
jak zkontrolovat velikost obrazovky monitoru
# 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ýstup:
6 24>
Časová složitost : O(n), kde n je délka seznamu vstupů.
Pomocný prostor: O(1)
Vynásobte všechna čísla v seznamu u Funkce sing mul() operátorského modulu.
Nejprve musíme naimportovat operátorský modul a poté pomocí funkce mul(). operátorského modulu vynásobením všech hodnot v seznamu. V tomto příkladu níže uvedený kód vynásobí všechna čísla v seznamu `[1, 2, 3]` pomocí funkce `mul` modulu `operátor`. Iteruje seznam, aktualizuje proměnnou výsledku a vytiskne 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ýstup :
6>
Časová složitost: Na), kde n je délka seznamu vstupů. Pomocný prostor: O(1), která je stálá.
Vynásobte všechna čísla v seznamu pomocí For Loop
Chcete-li vynásobit všechna čísla v seznamu pomocí a Pro Loop , můžete iterovat každý prvek seznamu a aktualizovat proměnnou běžícího produktu.
Příklad :V tomto příkladumultiply_list>
funkce vezme seznam jako vstup a inicializuje proměnnouproduct>
na 1. Poté prochází každý prvek v seznamu a aktualizuje produkt jeho vynásobením aktuálním prvkem
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ýstup :
120>
Časová složitost : O(n), kde n je délka seznamu vstupů.
Pomocný prostor : O(1).
Vynásobte všechna čísla v seznamu pomocí procházení podle indexu
V tomto příkladu níže uvedený kód definuje funkci `multiplyList` pro nalezení součinu prvků seznamu pomocí procházení. Postupně násobí každý prvek v seznamu. Ukázky se seznamy `[1, 2, 3]` a `[3, 2, 4]` poskytují výstupy 6 a 24, v tomto pořadí.
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ýstup :
6 24>
Časová složitost : O(n), kde n je délka seznamu vstupů. Pomocný prostor : O(1).
Vynásobte všechna čísla v seznamu u zpívat itertools.hromadit
The `itertools.kumulovat Funkce ` se používá pro kumulativní operace s iterovatelným. V tomto případě akumuluje součin prvků v seznamech. Funkce lambda `(lambda x, y: x * y)` definuje operaci násobení a konečné výsledky se získají z nashromážděných hodnot.
Příklad: V tomto příkladu níže uvedený kód využívá `itertools.accumulate` s funkcí lambda k násobení hodnot v seznamech `[1, 2, 3]` a `[3, 2, 4]`. Nashromážděné výsledky se převedou na seznamy a vytisknou se poslední prvky (výstupy: 6 a 24).
převést řetězec na datum
Krajta
# 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ýstup:
6 24>
Časová složitost: O(n), kde n je délka seznamu vstupů. Pomocný prostor: Na)
Vynásobte všechna čísla v seznamu pomocí rekurzivní funkce
Funkce produkt_ rekurzivní() vezme seznam čísel jako vstup a vrátí součin všech čísel v seznamu pomocí rekurzivního přístupu.
Příklad : V tomto příkladu níže uvedený kód definuje rekurzivní funkci „product_recursive“ pro výpočet součinu prvků seznamu. Zpracovává základní a rekurzivní případy a svou funkčnost demonstruje pomocí seznamů `[1, 2, 3]` a `[3, 2, 4]`, což má za následek 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ýstup :
6 24>
Časová složitost: O(n), kde n je počet prvků v seznamu.
Prostorová složitost :Na)
Vynásobte všechna čísla v seznamu Pomocí funkce reduction() a mul().
Jedním z přístupů k vyřešení tohoto problému je použití vestavěného funkce snížit(). z modulu functools, který může aplikovat funkci na iterovatelný kumulativním způsobem. K vynásobení prvků dohromady můžeme použít funkci operator.mul().
Příklad: V tomto příkladu níže uvedený kód využívá `functools.reduce` a `operator.mul` k násobení prvků v seznamu [1, 2, 3] a tiskne kumulativní součin (výstup: 6). Ukazuje účinnost funkce „snížit“ pro stručné kumulativní operace.
Python3
java objekt do json
from> functools> import> reduce> from> operator> import> mul> list1> => [> 1> ,> 2> ,> 3> ]> result> => reduce> (mul, list1)> print> (result)> |
>
>
Výstup :
6>
Časová složitost : O(n)
Pomocný prostor: O(1)