RosettaCodeData/Task/Fibonacci-sequence/Python/fibonacci-sequence-15.py
2026-02-01 16:33:20 -08:00

21 lines
564 B
Python

def fibs(n):
"""Fibonacci accumulation
An accumulation of the first n integers in the Fibonacci series. The accumulator is a
pair of the two preceding numbers.
"""
# Local import is more efficient.
from itertools import accumulate
# Note: Numbers generated in range(1, n) [or range(n-1)] call will not be used.
return [a for a, b in accumulate(
range(1, n),
lambda acc, _: (acc[1], sum(acc)),
initial = (0, 1)
)
]
# MAIN ---
if __name__ == '__main__':
print(f'First twenty: {fibs(20)}')