Python3+에서 함수 줄이기

6146 단어 mathpythonfunctools
reduce 함수는 Python의 functools 모듈의 일부입니다. 사용하려면 두 개의 인수가 필요합니다. 하나는 함수이고 두 개는 반복 가능합니다. reduce 함수는 첫 번째 인수를 iterable의 각 요소에 누적적으로 적용합니다. 이 기능은 다음과 동일합니다.

def reduce(function, iterable, initializer=None):
    it = iter(iterable)
    if initializer is None:
        value = next(it)
    else:
        value = initializer
    for element in it:
        value = function(value, element)
    return value


다음은 Python 문서 예입니다.

from functools import reduce

output = reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) 
print(output)

[1]: 15


이는 수학 시리즈와 같은 경우에 유용합니다.

from functools import reduce

elements = range(1, 36)
reduce(lambda x, y: x+(1/y**2), elements)

[1]: 1.616766914907197

elements = range(1, 360)
reduce(lambda x, y: x+(1/y**2), elements)

[2]: 1.642152427473518

elements = range(1, 3600)
reduce(lambda x, y: x+(1/y**2), elements)

[3]: 1.6446562504866367


π**2 / 6 을 계산하는 가장 좋은 방법은 아니지만 reduce 함수를 사용하는 방법의 예입니다.

π**2/6


from math import pi

pi**2/6

[1]: 1.6449340668482264

;피



다른 응용 프로그램에 유용할 수 있지만 수학을 좋아하므로 즐기십시오! 어쨌든 궁금한 점, 의견, 수정 사항이 있으면 피드백을 받고 싶습니다 ♥️

읽어 주셔서 감사합니다!

좋은 웹페이지 즐겨찾기