목록이 주어지면 모든 숫자를 곱한 후 얻은 값을 인쇄하십시오. 파이썬 목록.
예:
Input : list1 = [1, 2, 3] Output : 6 Explanation : 1*2*3=6 Input : list1 = [3, 2, 4] Output : 24>
Python 목록의 모든 숫자 곱하기
목록 내에서 곱셈을 수행하는 방법에는 여러 가지가 있습니다. 이러한 맥락에서 우리는 아래에 설명된 대로 Python에서 곱셈을 수행하는 방법에 대해 일반적으로 사용되는 방법을 활용할 것입니다.
- 순회 사용
- 사용 numpy.prod()
- 람다 함수 사용
- 사용 수학 도서관
- 사용 나는 가지고있다() 기능
- 인덱스별 순회 사용
- 사용 For 루프
- 사용 itertools.accumulate()
- 재귀 함수 사용
다음을 사용하여 목록의 모든 숫자를 곱하십시오. 순회
제품의 값을 1로 초기화합니다(0과 곱하면 0이 반환되므로 0이 아님). 목록 끝까지 탐색하여 모든 숫자에 곱을 곱합니다. 마지막에 제품에 저장된 값이 최종 답변을 제공합니다.
예 : 이 예에서 아래 코드는 ` 함수에서 순회 접근 방식을 사용합니다. 곱셈목록 ` 목록 `[1, 2, 3]` 및 `[3, 2, 4]`에 있는 요소의 곱을 계산하여 각각 6과 24가 출력됩니다.
파이썬
# 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은 목록의 요소 수입니다.
보조 공간: 오(1),
목록에 있는 모든 숫자를 곱하세요. 그 numpy.prod()
우리는 사용할 수 있습니다 numpy.prod() import numpy에서 목록에 있는 모든 숫자의 곱셈을 구합니다. 곱셈 결과에 따라 정수 또는 부동 소수점 값을 반환합니다.
예 : 이 예에서 아래 코드는 `numpy.prod()`를 사용하여 목록 `[1, 2, 3]` 및 `[3, 2, 4]`에 있는 요소의 곱을 찾아서 6과 24를 출력합니다. 각기.
파이썬3
# 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은 입력 목록의 길이입니다.
보조 공간: 오(1).
목록에 있는 모든 숫자를 곱하세요. 람다 함수 노래 부르기
람다' s 정의에는 다음이 포함되지 않습니다. 반품 명령문에는 항상 반환되는 표현식이 포함됩니다. 또한 함수가 예상되는 어느 곳에나 람다 정의를 넣을 수 있으며 이를 변수에 할당할 필요가 전혀 없습니다. 이것이 람다 함수의 단순성입니다. 그만큼 줄이다() Python의 함수는 함수와 목록을 인수로 사용합니다. 함수는 람다 함수와 목록 및 n을 사용하여 호출됩니다. 어 축소된 결과가 반환되었습니다. . 이는 목록 쌍에 대해 반복 작업을 수행합니다.
예 : 이 예에서 아래 코드는 Python의 `functools.reduce`와 람다 함수를 사용하여 `[1, 2, 3]` 및 `[3, 2, 4]` 목록의 모든 값을 곱합니다. 결과 6과 24가 인쇄됩니다.
파이썬3
자바의 디자인 패턴
# 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) – 추가 데이터 구조가 생성되지 않으므로 사용되는 메모리는 일정합니다.
목록에 있는 모든 숫자를 곱하세요. 수학 라이브러리의 노래 prod 기능
Python 3.8부터 prod 함수가 수학 모듈 표준 라이브러리에 있으므로 외부 라이브러리를 설치할 필요가 없습니다.
예 : 이 예에서 아래 코드는 Python의 `math.prod` 함수를 활용하여 `[1, 2, 3]` 및 `[3, 2, 4]` 목록에 있는 모든 값의 곱을 계산합니다. 결과 6과 24가 인쇄됩니다.
파이썬3
학교를 만든 사람
# 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)
목록에 있는 모든 숫자를 곱하세요. 연산자 모듈의 mul() 함수를 부릅니다.
먼저 연산자 모듈을 가져온 다음 mul() 함수 목록의 모든 값을 곱하는 연산자 모듈. 이 예에서 아래 코드는 `operator` 모듈의 `mul` 함수를 사용하여 `[1, 2, 3]` 목록의 모든 숫자를 곱합니다. 목록을 반복하여 결과 변수를 업데이트하고 최종 제품을 인쇄합니다(출력: 6).
파이썬3
# 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>
시간 복잡도: 에), 여기서 n은 입력 목록의 길이입니다. 보조 공간: 오(1), 그것은 일정합니다.
For 루프를 사용하여 목록의 모든 숫자를 곱합니다.
목록의 모든 숫자를 곱하려면 For 루프 을 사용하면 목록의 각 요소를 반복하고 실행 중인 제품 변수를 업데이트할 수 있습니다.
예 :이 예에서는multiply_list>함수는 목록을 입력으로 사용하고 변수를 초기화합니다.product>1로. 그런 다음 목록의 각 요소를 반복하여 현재 요소와 곱하여 제품을 업데이트합니다.
파이썬3
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의 출력이 생성됩니다.
파이썬3
np 평균
# 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).
목록에 있는 모든 숫자를 곱하세요. itertools.accumulate를 노래하세요.
그만큼 `itertools.accumulate ` 함수는 iterable의 누적 작업에 사용됩니다. 이 경우 목록에 있는 요소의 곱을 누적합니다. 람다 함수 `(lambda x, y: x * y)`는 곱셈 연산을 정의하며, 누적된 값에서 최종 결과를 얻습니다.
예 : 이 예에서 아래 코드는 `[1, 2, 3]` 및 `[3, 2, 4]` 목록의 값을 곱하기 위해 람다 함수와 함께 `itertools.accumulate`를 활용합니다. 누적된 결과는 목록으로 변환되고 마지막 요소가 인쇄됩니다(출력: 6 및 24).
파이썬
# 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은 입력 목록의 길이입니다. 보조 공간 : 에)
재귀 함수를 사용하여 목록의 모든 숫자를 곱합니다.
기능제품_ 재귀적() 숫자 목록을 입력으로 사용하고 재귀적 접근 방식을 사용하여 목록에 있는 모든 숫자의 곱을 반환합니다.
예 : 이 예에서 아래 코드는 목록 요소의 곱을 계산하기 위해 재귀 함수 `product_recursive`를 정의합니다. 기본 및 재귀 사례를 처리하고 `[1, 2, 3]` 및 `[3, 2, 4]` 목록으로 기능을 시연하여 각각 6과 24의 출력을 얻습니다.
파이썬3
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은 목록의 요소 수입니다.
공간 복잡도 :에)
감소() 및 mul() 함수를 사용하여 목록의 모든 숫자 곱하기
이 문제를 해결하는 한 가지 접근 방식은 내장된 기능을 사용하는 것입니다. 감소() 함수 누적 방식으로 iterable에 함수를 적용할 수 있는 functools 모듈에서. 우리는 요소들을 함께 곱하기 위해 Operator.mul() 함수를 사용할 수 있습니다.
예 : 이 예에서 아래 코드는 `functools.reduce` 및 `operator.mul`을 활용하여 목록 [1, 2, 3]의 요소를 곱하고 누적 곱을 인쇄합니다(출력: 6). 간결한 누적 연산을 위한 `reduce` 기능의 효율성을 보여줍니다.
파이썬3
from> functools>import> reduce> from> operator>import> mul> list1>=> [>1>,>2>,>3>]> result>=> reduce>(mul, list1)> print>(result)> |
>
>
출력 :
6>
시간 복잡도 : 에)
보조 공간: 오(1)