Pythona | Pomnóż wszystkie liczby na liście

Mając listę, wypisz wartość uzyskaną po pomnożeniu wszystkich liczb w a Pyton lista.

Przykłady:

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

Pomnóż wszystkie liczby na liście w Pythonie

Istnieje wiele podejść do wykonywania mnożenia na liście. W tym kontekście wykorzystamy powszechnie stosowane metody mnożenia w Pythonie, jak opisano poniżej.

  • Korzystanie z przejścia
  • Za pomocą numpy.prod()
  • Korzystanie z funkcji lambda
  • Za pomocą Biblioteka matematyczna
  • Za pomocą Ja mam() funkcjonować
  • Korzystanie z przechodzenia przez indeks
  • Za pomocą Dla pętli
  • Za pomocą itertools.akumuluj()
  • Korzystanie z funkcji rekurencyjnej

Pomnóż wszystkie liczby na liście za pomocą Przejście

Zainicjuj wartość iloczynu na 1 (a nie 0, ponieważ 0 pomnożone przez cokolwiek daje zero). Przejdź do końca listy, pomnóż każdą liczbę przez iloczyn. Wartość zapisana w produkcie na końcu da Ci ostateczną odpowiedź.

Przykład : W tym przykładzie poniższy kod wykorzystuje metodę przechodzenia w funkcji ` pomnóż listę ` aby obliczyć iloczyn elementów na listach `[1, 2, 3]` i `[3, 2, 4]`, uzyskując wyniki odpowiednio 6 i 24.

Pyton




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

Wyjście :

6 24 

Złożoność czasowa: O(n), gdzie n jest liczbą elementów na liście.
Przestrzeń pomocnicza: O(1),

Pomnóż wszystkie liczby na liście u to numpy.prod()

Możemy użyć numpy.prod() z importu numpy, aby uzyskać pomnożenie wszystkich liczb na liście. Zwraca liczbę całkowitą lub wartość zmiennoprzecinkową w zależności od wyniku mnożenia.

Przykład : W tym przykładzie poniższy kod używa `numpy.prod()` do znalezienia iloczynu elementów na listach `[1, 2, 3]` i `[3, 2, 4]`, co daje wyniki 6 i 24, odpowiednio.

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

Wyjście :

6 24 

Złożoność czasowa: O(n), gdzie n jest długością list wejściowych.
Przestrzeń pomocnicza: O(1).

Pomnóż wszystkie liczby na liście u śpiewać funkcję lambda

Lambda' definicja s nie obejmuje a powrót instrukcja, zawsze zawiera wyrażenie, które jest zwracane. Możemy również umieścić definicję lambdy w dowolnym miejscu, w którym oczekuje się funkcji, i nie musimy w ogóle przypisywać jej do zmiennej. Na tym polega prostota funkcji lambda. The zmniejszyć() Funkcja w Pythonie przyjmuje jako argument funkcję i listę. Funkcja jest wywoływana z funkcją lambda, listą i n zwracany jest zmniejszony wynik . Wykonuje powtarzalną operację na parach listy.

Przykład : W tym przykładzie poniższy kod używa Pythona „functools.reduce” z funkcją lambda do pomnożenia wszystkich wartości na listach „[1, 2, 3]” i „[3, 2, 4]”. Wyniki 6 i 24 zostaną wydrukowane.

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

Wyjście :

6 24 

Złożoność czasowa: O(n) – gdzie n jest długością dłuższej listy.
Przestrzeń pomocnicza: O(1) – używana pamięć jest stała, ponieważ nie powstają żadne dodatkowe struktury danych.

Pomnóż wszystkie liczby na liście u śpiewać funkcję prod biblioteki matematycznej

Począwszy od wersji Python 3.8, funkcja prod została dołączona do pliku moduł matematyczny w bibliotece standardowej, dzięki czemu nie ma potrzeby instalowania bibliotek zewnętrznych.

Przykład : W tym przykładzie poniższy kod wykorzystuje funkcję `math.prod` Pythona do obliczenia iloczynu wszystkich wartości na listach `[1, 2, 3]` i `[3, 2, 4]`. Wyniki 6 i 24 zostaną wydrukowane.

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

Wyjście:

6 24 

Złożoność czasowa : O(n), gdzie n jest długością listy wejściowej.
Przestrzeń pomocnicza: O(1)

Pomnóż wszystkie liczby na liście u zaśpiewaj funkcję mul() modułu operatora.

Najpierw musimy zaimportować moduł operatora, a następnie użyć funkcja mul(). modułu operatora mnożącego wszystkie wartości na liście. W tym przykładzie poniższy kod mnoży wszystkie liczby z listy `[1, 2, 3]` przy użyciu funkcji `mul` modułu `operator`. Iteruje po liście, aktualizując zmienną wynikową i drukuje produkt końcowy (wyjście: 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)>

Wyjście :

6 

Złożoność czasowa: NA), gdzie n jest długością listy wejściowej. Przestrzeń pomocnicza: O(1), co jest stałe.

Pomnóż wszystkie liczby na liście za pomocą pętli For

Aby pomnożyć wszystkie liczby na liście za pomocą a Dla pętli , możesz iterować po każdym elemencie listy i aktualizować działającą zmienną produktu.

Przykład :W tym przykładzie multiply_list> funkcja pobiera listę jako dane wejściowe i inicjuje zmienną product> do 1. Następnie iteruje po każdym elemencie listy, aktualizując produkt poprzez pomnożenie go przez bieżący element

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

Wyjście :

120 

Złożoność czasowa : O(n), gdzie n jest długością listy wejściowej.
Przestrzeń pomocnicza :O(1).

Pomnóż wszystkie liczby na liście za pomocą przechodzenia przez indeks

W tym przykładzie poniższy kod definiuje funkcję „multiplyList”, która pozwala znaleźć iloczyn elementów listy przy użyciu metody przechodzenia. Kolejno mnoży każdy element na liście. Demonstracje z listami „[1, 2, 3]” i „[3, 2, 4]” dają wyniki odpowiednio 6 i 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))>

Wyjście :

6 24 

Złożoność czasowa : O(n), gdzie n jest długością listy wejściowej. Przestrzeń pomocnicza :O(1).

Pomnóż wszystkie liczby na liście u śpiewaj itertools.accumulate

The `itertools.accumulate Funkcja ` jest używana do operacji kumulacyjnych na iterowalnym. W tym przypadku gromadzi iloczyn elementów na listach. Funkcja lambda `(lambda x, y: x * y)` definiuje operację mnożenia, a ostateczne wyniki uzyskuje się z zakumulowanych wartości.

Przykład : W tym przykładzie poniższy kod wykorzystuje plik `itertools.accumulate` z funkcją lambda do mnożenia wartości na listach `[1, 2, 3]` i `[3, 2, 4]`. Skumulowane wyniki konwertowane są na listy i drukowane są ostatnie elementy (wyjścia: 6 i 24).

Pyton




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

Wyjście:

  6     24 

Złożoność czasowa: O(n), gdzie n jest długością listy wejściowej. Przestrzeń pomocnicza: NA)

Pomnóż wszystkie liczby na liście za pomocą funkcji rekurencyjnej

Funkcja produkt_ rekurencyjne() pobiera listę liczb jako dane wejściowe i zwraca iloczyn wszystkich liczb z listy, stosując podejście rekurencyjne.

Przykład : W tym przykładzie poniższy kod definiuje funkcję rekurencyjną „product_recursive” służącą do obliczenia iloczynu elementów listy. Obsługuje przypadki podstawowe i rekurencyjne, demonstrując swoją funkcjonalność za pomocą list „[1, 2, 3]” i „[3, 2, 4]”, co daje wyniki odpowiednio 6 i 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>

Wyjście :

6 24 

Złożoność czasowa: O(n), gdzie n jest liczbą elementów na liście.
Złożoność przestrzeni :NA)

Pomnóż wszystkie liczby na liście, używając funkcji redukcji() i mul().

Jednym ze sposobów rozwiązania tego problemu jest użycie wbudowanego funkcja redukcji(). z modułu functools, który może zastosować funkcję do obiektu iterowalnego w sposób skumulowany. Możemy użyć funkcji operator.mul() do pomnożenia elementów przez siebie.

Przykład : W tym przykładzie poniższy kod wykorzystuje `functools.reduce` i `operator.mul` do pomnożenia elementów na liście [1, 2, 3], wypisując skumulowany iloczyn (wyjście: 6). Pokazuje skuteczność funkcji „zmniejsz” w przypadku zwięzłych operacji skumulowanych.

Python3




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

Wyjście :

6 

Złożoność czasowa : NA)
Przestrzeń pomocnicza: O(1)