Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 람다를 사용하여 n까지의 피보나치 수열 찾기

<시간/>

피비나치 급수는 많은 자연 현상을 설명하는 널리 알려진 수학적 급수입니다. 0과 1로 시작하여 다음 항을 얻기 위해 이전 항에 항을 계속 추가합니다. 이 기사에서는 파이썬에서 람다 함수를 사용하여 피보나치 수열의 주어진 수의 요소를 생성하는 방법을 볼 것입니다.

합계 및 지도 포함

map 함수를 사용하여 목록의 각 요소에 람다 함수를 적용합니다. 우리는 목록 분할 메커니즘을 설계하여 이전 두 용어의 합을 얻고 범위를 사용하여 생성할 용어 수를 계산합니다.

예시

def fibonacci(count):
   listA = [0, 1]

   any(map(lambda _:listA.append(sum(listA[-2:])),
         range(2, count)))

   return listA[:count]

print(fibonacci(8))

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

[0, 1, 1, 2, 3, 5, 8, 13]

감소 기능 포함

이 접근 방식에서 우리는 이전 두 항의 합을 얻기 위해 람다 함수와 함께 감소 함수를 사용합니다. 필요한 용어 수를 유지하고 최종 결과를 얻으려면 범위와 함께 람다를 두 번 적용해야 합니다.

예시

from functools import reduce

fib_numbers = lambda y: reduce(lambda x, _: x + [x[-1] + x[-2]], range(y - 2), [0, 1])

print(fib_numbers(8))

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

[0, 1, 1, 2, 3, 5, 8, 13]