본문 바로가기
파이썬

파이썬 sum ()과 같은 함수는 무엇입니까? 생성물()?

by º기록 2020. 10. 3.
반응형


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

 

 

반응형

댓글