इस लेख में, आप अनाम फ़ंक्शन के बारे में जानेंगे, जिसे लैम्ब्डा फ़ंक्शन के रूप में भी जाना जाता है। आप सीखेंगे कि वे क्या हैं, उनका सिंटैक्स और उनका उपयोग कैसे करें (उदाहरण के साथ)।
पाइथन में लैम्बडा फ़ंक्शन क्या हैं?
पायथन में, एक अनाम फ़ंक्शन एक फ़ंक्शन है जिसे बिना नाम के परिभाषित किया गया है।
जबकि def
पायथन में कीवर्ड का उपयोग करके सामान्य कार्यों को परिभाषित किया जाता है, अनाम कार्यों को lambda
कीवर्ड का उपयोग करके परिभाषित किया जाता है ।
इसलिए, अनाम कार्यों को लैम्ब्डा फ़ंक्शन भी कहा जाता है।
पायथन में लैम्बडा फंक्शंस का उपयोग कैसे करें?
अजगर में एक लैम्ब्डा फ़ंक्शन में निम्नलिखित सिंटैक्स होता है।
अजगर में लैम्ब्डा फंक्शन का सिंटैक्स
लंबोदर तर्क: अभिव्यक्ति
लैम्ब्डा कार्यों में किसी भी संख्या में तर्क हो सकते हैं लेकिन केवल एक अभिव्यक्ति। अभिव्यक्ति का मूल्यांकन किया जाता है और वापस आ जाता है। जहां भी फ़ंक्शन ऑब्जेक्ट्स की आवश्यकता होती है, लैम्ब्डा फ़ंक्शन का उपयोग किया जा सकता है।
अजगर में लैम्ब्डा फंक्शन का उदाहरण
यहां लैम्बडा फ़ंक्शन का एक उदाहरण है जो इनपुट मूल्य को दोगुना करता है।
# Program to show the use of lambda functions double = lambda x: x * 2 print(double(5))
आउटपुट
१०
उपरोक्त कार्यक्रम में, lambda x: x * 2
लैम्बडा फ़ंक्शन है। यहां x तर्क है और x * 2
वह अभिव्यक्ति है जिसका मूल्यांकन किया जाता है और वापस लौटा दिया जाता है।
इस फ़ंक्शन का कोई नाम नहीं है। यह एक फ़ंक्शन ऑब्जेक्ट देता है जिसे पहचानकर्ता को सौंपा गया है double
। अब हम इसे सामान्य कार्य कह सकते हैं। कथन
double = lambda x: x * 2
के रूप में लगभग एक ही है:
डीईएफ़ (x): रिटर्न x * 2
अजगर में लैम्ब्डा फंक्शन का उपयोग
जब हम समय की एक छोटी अवधि के लिए एक नाममात्र समारोह की आवश्यकता होती है तो हम लंबोदा कार्यों का उपयोग करते हैं।
पायथन में, हम आम तौर पर इसे उच्च-क्रम फ़ंक्शन (एक फ़ंक्शन जो अन्य कार्यों में तर्क के रूप में लेते हैं) के तर्क के रूप में उपयोग करते हैं। लैम्बडा फ़ंक्शंस का उपयोग बिल्ट-इन फ़ंक्शंस जैसे filter()
, map()
आदि के साथ किया जाता है ।
फ़िल्टर के साथ उदाहरण का उपयोग करें ()
filter()
अजगर में समारोह एक समारोह और तर्क के रूप में एक सूची में ले जाता है।
फ़ंक्शन को सूची में सभी आइटमों के साथ बुलाया जाता है और एक नई सूची दी जाती है जिसमें आइटम होते हैं जिसके लिए फ़ंक्शन मूल्यांकन करता है True
।
यहां filter()
केवल सूची से संख्याओं को फ़िल्टर करने के लिए फ़ंक्शन का एक उदाहरण उपयोग है ।
# Program to filter out only the even items from a list my_list = (1, 5, 4, 6, 8, 11, 3, 12) new_list = list(filter(lambda x: (x%2 == 0) , my_list)) print(new_list)
आउटपुट
(4, 6, 8, 12)
मानचित्र के साथ उदाहरण का उपयोग ()
map()
अजगर में समारोह एक समारोह और एक सूची में ले जाता है।
फ़ंक्शन को सूची में सभी आइटमों के साथ बुलाया जाता है और एक नई सूची दी जाती है जिसमें प्रत्येक आइटम के लिए उस फ़ंक्शन द्वारा वापस लौटाए गए आइटम होते हैं।
यहां map()
एक सूची में सभी वस्तुओं को दोगुना करने के लिए फ़ंक्शन का एक उदाहरण उपयोग किया गया है।
# Program to double each item in a list using map() my_list = (1, 5, 4, 6, 8, 11, 3, 12) new_list = list(map(lambda x: x * 2 , my_list)) print(new_list)
आउटपुट
(2, 10, 8, 12, 16, 22, 6, 24)