|
प्रश्न 2. क्या Lambda Function में कई Statements लिख सकते हैं? |
|
प्रश्न 5. Lambda Function और Normal Function में क्या अंतर है? |
Python में अधिकांश Functions को def Keyword की सहायता से बनाया जाता है। लेकिन कई बार हमें बहुत छोटे और सरल Functions की आवश्यकता होती है, जिन्हें केवल एक बार उपयोग करना होता है। ऐसे Functions के लिए अलग से def लिखना आवश्यक नहीं होता।
Python ऐसी स्थिति के लिए Lambda Function प्रदान करता है।
Lambda Function एक Anonymous Function होता है, अर्थात ऐसा Function जिसका कोई नाम (Name) नहीं होता। यह केवल एक Expression पर कार्य करता है और उसका परिणाम Return करता है।
Lambda Function का उपयोग विशेष रूप से map(), filter(), reduce(), sorted() और key Parameters के साथ अधिक किया जाता है।
Lambda Function Python का एक छोटा (Small) और Anonymous Function है, जिसे lambda Keyword की सहायता से बनाया जाता है।
इस Function का कोई नाम नहीं होता और यह केवल एक Expression लिखने की अनुमति देता है।
Lambda Function = Anonymous Function = बिना नाम वाला Function
- lambda Keyword से बनाया जाता है।
- Function का कोई नाम नहीं होता।
- केवल एक Expression लिखा जा सकता है।
- Expression का Result स्वतः Return हो जाता है।
- return Keyword लिखने की आवश्यकता नहीं होती।
- छोटे एवं सरल कार्यों के लिए उपयोग किया जाता है।
lambda arguments: expression
- lambda → Function बनाने का Keyword
- arguments → Input Parameters
- expression → कार्य (जिसका परिणाम Return होगा)
square = lambda x: x * x
print(square(5))
Output
25
def square(x):
return x * x
print(square(5))
square = lambda x: x * x
print(square(5))
दोनों का Output समान होगा।
add = lambda a, b: a + b
print(add(10, 20))
Output
30
maximum = lambda a, b, c: max(a, b, c)
print(maximum(20, 80, 50))
Output
80
check = lambda n: "Even" if n % 2 == 0 else "Odd"
print(check(15))
Output
Odd
Lambda Function में Multiple Arguments
multiply = lambda a, b, c: a * b * c
print(multiply(2, 3, 4))
Output
24
Lambda Function में—
- केवल एक Expression लिखा जा सकता है।
- Multiple Statements नहीं लिख सकते।
- Loop या Complex Logic लिखना उचित नहीं है।
- बड़े Program के लिए def Function अधिक उपयुक्त होता है।
map() Function किसी Function को Collection (List, Tuple आदि) के प्रत्येक Element पर लागू करता है।
numbers = [1, 2, 3, 4, 5]
result = list(map(lambda x: x * x, numbers))
print(result)
Output
[1, 4, 9, 16, 25]
filter() Function के साथ Lambda
filter() किसी Condition के आधार पर Elements को Filter करता है।
numbers = [10, 15, 20, 25, 30]
result = list(filter(lambda x: x % 2 == 0, numbers))
print(result)
Output
[10, 20, 30]
reduce() Function के साथ Lambda
reduce() सभी Elements पर लगातार Operation करके एक Final Result देता है।
reduce() का उपयोग करने के लिए functools Module Import करना पड़ता है।
from functools import reduce
numbers = [1, 2, 3, 4]
result = reduce(lambda x, y: x + y, numbers)
print(result)
Output
10
students = [
("Rahul", 85),
("Amit", 70),
("Neha", 92)
]
result = sorted(students, key=lambda x: x[1])
print(result)
Output
[('Amit', 70), ('Rahul', 85), ('Neha', 92)]
|
Normal Function |
Lambda Function |
|
def Keyword |
lambda Keyword |
|
Function का नाम होता है |
Function का नाम नहीं होता |
|
कई Statements लिख सकते हैं |
केवल एक Expression |
|
return लिखना पड़ता है |
Result स्वतः Return होता है |
|
बड़े Programs के लिए उपयुक्त |
छोटे कार्यों के लिए उपयुक्त |
square = lambda x: x * x
print(square(8))
add = lambda a, b: a + b
print(add(25, 15))
cube = lambda x: x ** 3
print(cube(3))
numbers = [1,2,3,4,5,6]
even = list(filter(lambda x: x % 2 == 0, numbers))
print(even)
numbers = [1,2,3,4,5]
square = list(map(lambda x: x*x, numbers))
print(square)
lambda x:
❌ क्योंकि Expression नहीं दिया गया।
print(square(5))
यदि square पहले Define नहीं किया गया है, तो NameError आएगा।
- छोटे और सरल कार्यों के लिए Lambda Function का उपयोग करें।
- बड़े Logic के लिए Normal Function (def) का उपयोग करें।
- map(), filter() और sorted() के साथ Lambda का उपयोग Code को छोटा और स्पष्ट बनाता है।
- यदि Function में कई Statements हों, तो def बेहतर विकल्प है।
परीक्षा की दृष्टि से महत्वपूर्ण तथ्य
- Lambda Function एक Anonymous Function है।
- इसे lambda Keyword से बनाया जाता है।
- इसमें केवल एक Expression लिखा जा सकता है।
- return Keyword लिखने की आवश्यकता नहीं होती।
- map(), filter(), reduce() और sorted() के साथ इसका उपयोग अधिक किया जाता है।
- reduce() का उपयोग करने के लिए functools Module Import करना आवश्यक है।
Frequently Asked Questions (FAQs)
प्रश्न 1. Lambda Function क्या है?
बिना नाम वाला (Anonymous) छोटा Function, जिसे lambda Keyword से बनाया जाता है।
प्रश्न 2. क्या Lambda Function में कई Statements लिख सकते हैं?
नहीं, केवल एक Expression लिखा जा सकता है।
प्रश्न 3. Lambda Function का सबसे अधिक उपयोग कहाँ होता है?
map(), filter(), reduce() और sorted() के साथ।
प्रश्न 4. reduce() किस Module में होता है?
functools Module में।
प्रश्न 5. Lambda Function और Normal Function में क्या अंतर है?
Lambda Function छोटा और Anonymous होता है, जबकि Normal Function def से बनाया जाता है और उसमें कई Statements लिखे जा सकते हैं।
- lambda = Anonymous Function
- केवल एक Expression
- return लिखने की आवश्यकता नहीं
- छोटे कार्यों के लिए उपयुक्त
- map() → प्रत्येक Element पर Function लागू करता है
- filter() → Condition के आधार पर Elements चुनता है
- reduce() → सभी Elements को मिलाकर एक Result देता है
- sorted(key=lambda ...) → Custom Sorting
Python Recursion in Hindi – Recursive Function, Base Case, Recursive Case, Call Stack, Direct और Indirect Recursion, Advantages, Disadvantages, Practical Programs और Interview Questions। यह Data Structures और Algorithm की दृष्टि से अत्यंत महत्वपूर्ण विषय है।