फिबोनाची श्रृंखला एक व्यापक रूप से ज्ञात गणितीय श्रृंखला है जो कई प्राकृतिक घटनाओं को समझाती है। यह 0 और 1 से शुरू होती है और फिर अगला पद प्राप्त करने के लिए एक पद को उसके पिछले पद में जोड़ती जाती है। इस लेख में हम देखेंगे कि पायथन में lambda फ़ंक्शन का उपयोग करके फिबोनाची श्रृंखला के दिए गए संख्या में तत्व कैसे उत्पन्न करें।
sum और map के साथ
हम map फ़ंक्शन का उपयोग करके lambda फ़ंक्शन को सूची के प्रत्येक तत्व पर लागू करते हैं। हम पिछले दो पदों का योग प्राप्त करने के लिए एक सूची स्लाइसिंग तंत्र डिज़ाइन करते हैं और कितने पद उत्पन्न करने हैं इसकी गिनती रखने के लिए range का उपयोग करते हैं।
उदाहरण
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]
reduce फ़ंक्शन के साथ
इस दृष्टिकोण में हम reduce फ़ंक्शन के साथ lambda फ़ंक्शन का उपयोग करके पिछले दो पदों का योग प्राप्त करते हैं। हमें आवश्यक पदों की संख्या की गिनती रखने के लिए range के साथ lambda को दो बार लागू करना होगा और अंतिम परिणाम प्राप्त करना होगा।
उदाहरण
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]