Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

สร้างลำดับ Fibonacci จนถึง n ด้วย Lambda ใน Python

Fibonacci Sequence ด้วย Lambda Function

สร้างลำดับฟีโบนัชชี n ตัวแรก (0, 1, 1, 2, 3, 5, ...) โดยใช้ Lambda

วิธีที่ 1: ใช้ map() + lambda + sum


def fibonacci(n):
    seq = [0, 1]
    any(map(lambda _: seq.append(sum(seq[-2:])), range(2, n)))
    return seq[:n]

print(fibonacci(8))  # [0,1,1,2,3,5,8,13]

วิธีที่ 2: ใช้ functools.reduce + lambda


from functools import reduce
fib = lambda n: reduce(lambda x, _: x + [x[-1]+x[-2]], range(n-2), [0,1])
print(fib(8))  # [0,1,1,2,3,5,8,13]