logo

Python | Перемножте всі числа зі списку

Дано список, вивести значення, отримане після множення всіх чисел у a Python список.

приклади:



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

Помножте всі числа зі списку в Python

Існує кілька підходів до виконання множення в списку. У цьому контексті ми будемо використовувати загальноприйняті методи множення в Python, як описано нижче.

  • Використання Traversal
  • Використання numpy.prod()
  • Використання лямбда-функції
  • Використання Математична бібліотека
  • Використання У мене є() функція
  • Використання обходу за індексом
  • Використання Для петлі
  • Використання itertools.accumulate()
  • Використання рекурсивної функції

Помножте всі числа зі списку за допомогою Обхід

Ініціалізуйте значення добутку 1 (а не 0, оскільки 0, помножене на будь-що, повертає нуль). Пройдіть до кінця списку, помножте кожне число на добуток. Значення, збережене в продукті в кінці, дасть вам остаточну відповідь.

приклад : у цьому прикладі наведений нижче код використовує обхідний підхід у функції ` multiplyList `, щоб обчислити добуток елементів у списках `[1, 2, 3]` і `[3, 2, 4]`, що призведе до результатів 6 і 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))>

>

>

Вихід:

6 24>

Часова складність: O(n), де n – кількість елементів у списку.
Допоміжні приміщення: O(1),

Перемножте всі числа зі списку u що numpy.prod()

Ми можемо використовувати numpy.prod() з import numpy, щоб отримати множення всіх чисел у списку. Він повертає ціле число або значення з плаваючою точкою залежно від результату множення.

приклад: У цьому прикладі наведений нижче код використовує `numpy.prod()` для пошуку добутку елементів у списках `[1, 2, 3]` і `[3, 2, 4]`, що призводить до виходу 6 і 24, відповідно.

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

>

>

Вихід:

6 24>

Часова складність: O(n), де n - довжина вхідних списків.
Допоміжні приміщення: O(1).

Перемножте всі числа зі списку u співати лямбда-функцію

лямбда s визначення не включає a повернення оператор, він завжди містить вираз, який повертається. Ми також можемо розмістити лямбда-визначення будь-де, де очікується функція, і нам зовсім не потрібно призначати його змінній. У цьому полягає простота лямбда-функцій. The зменшити() функція в Python приймає функцію та список як аргумент. Функція викликається за допомогою лямбда-функції, списку та n повертається новий зменшений результат . Це виконує повторювану операцію над парами списку.

приклад: У цьому прикладі наведений нижче код використовує `functools.reduce` Python з лямбда-функцією для множення всіх значень у списках `[1, 2, 3]` і `[3, 2, 4]`. Результати 6 і 24 друкуються.

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

>

>

Вихід:

6 24>

Часова складність: O(n) – де n – довжина довшого списку.
Допоміжні приміщення: O(1) – використовується постійна пам’ять, оскільки додаткові структури даних не створюються.

Перемножте всі числа зі списку u функція sing prod математичної бібліотеки

Починаючи з Python 3.8, функція prod була включена в математичний модуль у стандартній бібліотеці, тому не потрібно встановлювати зовнішні бібліотеки.

приклад: У цьому прикладі код нижче використовує функцію Python `math.prod` для обчислення добутку всіх значень у списках `[1, 2, 3]` і `[3, 2, 4]`. Результати 6 і 24 друкуються.

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

>

>

обхід попереднього замовлення

Вихід:

6 24>

Часова складність : O(n), де n — довжина вхідного списку.
Допоміжні приміщення: О(1)

Перемножте всі числа зі списку u функція sing mul() операторного модуля.

Спочатку нам потрібно імпортувати модуль оператора, а потім використовувати функція mul(). модуля оператора, що множить усі значення в списку. У цьому прикладі наведений нижче код множить усі числа в списку `[1, 2, 3]` за допомогою функції `mul` модуля `operator`. Він повторює список, оновлюючи змінну результату, і друкує кінцевий продукт (вихід: 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)>

>

>

Вихід:

6>

Часова складність: O(n), де n - довжина вхідного списку. Допоміжні приміщення: O(1), який є постійним.

Помножте всі числа у списку за допомогою циклу For

Щоб помножити всі числа в списку за допомогою a Для циклу , ви можете перебирати кожен елемент списку та оновлювати запущену змінну продукту.

приклад : У цьому прикладіmultiply_list>функція приймає список як вхідні дані та ініціалізує зміннуproduct>до 1. Потім він повторює кожен елемент у списку, оновлюючи добуток шляхом множення його на поточний елемент

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

>

>

Вихід:

120>

Часова складність : O(n), де n — довжина вхідного списку.
Допоміжне приміщення : O(1).

Перемножте всі числа зі списку використання обходу за індексом

У цьому прикладі наведений нижче код визначає функцію `multiplyList` для пошуку добутку елементів списку за допомогою підходу обходу. Він послідовно множить кожен елемент у списку. Демонстрації зі списками `[1, 2, 3]` і `[3, 2, 4]` дають результат 6 і 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))>

>

>

Вихід:

6 24>

Часова складність : O(n), де n — довжина вхідного списку. Допоміжне приміщення : O(1).

Перемножте всі числа зі списку u співати itertools.accumulate

The `itertools.accumulate Функція ` використовується для кумулятивних операцій над iterable. У цьому випадку він накопичує добуток елементів у списках. Лямбда-функція `(лямбда x, y: x * y)` визначає операцію множення, а кінцеві результати отримують із накопичених значень.

приклад: У цьому прикладі в наведеному нижче коді використовується `itertools.accumulate` з лямбда-функцією для множення значень у списках `[1, 2, 3]` і `[3, 2, 4]`. Накопичені результати перетворюються на списки, а останні елементи друкуються (виходи: 6 і 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>])>

>

>

Вихід:

  6     24>

Часова складність: O(n), де n - довжина вхідного списку. Допоміжне приміщення: O(n)

Помножте всі числа в списку за допомогою рекурсивної функції

Функція product_ рекурсивний() приймає список чисел як вхідні дані та повертає добуток усіх чисел у списку, використовуючи рекурсивний підхід.

приклад : у цьому прикладі наведений нижче код визначає рекурсивну функцію, `product_recursive`, для обчислення добутку елементів списку. Він обробляє базові та рекурсивні випадки, демонструючи свою функціональність за допомогою списків `[1, 2, 3]` і `[3, 2, 4]`, що призводить до виходу 6 і 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>

>

>

Вихід:

6 24>

Часова складність: O(n), де n – кількість елементів у списку.
Космічна складність :O(n)

Перемножте всі числа у списку за допомогою функції reduce() і mul().

Одним із підходів до вирішення цієї проблеми є використання вбудованого функція reduce(). з модуля functools, який може застосовувати функцію до ітерованого об’єкта кумулятивним способом. Ми можемо використовувати функцію operator.mul(), щоб помножити елементи разом.

приклад: У цьому прикладі наведений нижче код використовує `functools.reduce` і `operator.mul` для множення елементів у списку [1, 2, 3], друкуючи кумулятивний добуток (вихід: 6). Він демонструє ефективність функції `reduce` для коротких кумулятивних операцій.

Python3




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

>

>

Вихід:

6>

Часова складність : O(n)
Допоміжні приміщення: О(1)