반응형
sum([3,4,5]) == 3 + 4 + 5 == 12
대신 제품을 반환하는 함수를 찾고 있습니다.
somelib.somefunc([3,4,5]) == 3 * 4 * 5 == 60
그러한 기능이 존재한다고 확신하지만 찾을 수 없습니다.
해결 방법
찾고있는 함수는 prod () 또는 product () 라고하지만 Python에는 해당 함수가 없습니다. 그래서, 당신은 당신 자신의 것을 작성해야합니다 (쉽습니다).
from functools import reduce # Required in Python 3
import operator
def prod(iterable):
return reduce(operator.mul, iterable, 1)
>>> prod(range(1, 5))
24
>>> import math
>>> math.factorial(10)
3628800
데이터가 부동 소수점으로 구성된 경우 지수 및 로그와 함께 sum () 을 사용하여 곱을 계산할 수 있습니다.
>>> from math import log, exp
>>> data = [1.2, 1.5, 2.5, 0.9, 14.2, 3.8]
>>> exp(sum(map(log, data)))
218.53799999999993
>>> 1.2 * 1.5 * 2.5 * 0.9 * 14.2 * 3.8
218.53799999999998
log () 를 사용하려면 모든 입력이 양수 여야합니다.
참조 페이지 https://stackoverflow.com/questions/595374
반응형
'파이썬' 카테고리의 다른 글
파이썬 python-3.x에서 사전을 사용하여 문자열을 어떻게 포맷합니까? (0) | 2020.10.03 |
---|---|
파이썬 Python에서 이미지를 여러 조각으로 분할하는 방법 (0) | 2020.10.03 |
파이썬 Python datetime을 타임 스탬프로 변환하고 UTC로 다시 변환하면 여전히 현지 시간대를 사용합니다. (0) | 2020.10.03 |
파이썬 Python의 MATLAB 스타일 find () 함수 (0) | 2020.10.03 |
파이썬 Python을 사용하여 웹 사이트 만들기 시작 (0) | 2020.10.03 |
댓글