Python Lambda

பைத்தான் லாம்ப்டா

லாம்ப்டா செயல்பாடுகள்

ஒரு லாம்ப்டா செயல்பாடு ஒரு சிறிய அநாமதேய செயல்பாடு.

ஒரு லாம்ப்டா செயல்பாடு எந்த எண்ணிக்கையிலான வாதங்களையும் எடுக்கலாம், ஆனால் ஒரே ஒரு வெளிப்பாட்டை மட்டுமே கொண்டிருக்க முடியும்.

தொடரியல்

lambda arguments : expression

வெளிப்பாடு செயல்படுத்தப்படுகிறது மற்றும் முடிவு திரும்பப் பெறப்படுகிறது:

எடுத்துக்காட்டு

வாதம் a உடன் 10 ஐக் கூட்டி, முடிவைத் திரும்பப் பெறு:

x = lambda a : a + 10
print(x(5))

லாம்ப்டா செயல்பாடுகள் எந்த எண்ணிக்கையிலான வாதங்களையும் எடுக்கலாம்:

எடுத்துக்காட்டு

வாதம் a ஐ வாதம் b உடன் பெருக்கி முடிவைத் திரும்பப் பெறு:

x = lambda a, b : a * b
print(x(5, 6))

எடுத்துக்காட்டு

வாதங்கள் a, b, மற்றும் c யை சுருக்கி முடிவைத் திரும்பப் பெறு:

x = lambda a, b, c : a + b + c
print(x(5, 6, 2))

லாம்ப்டா செயல்பாடுகளை ஏன் பயன்படுத்த வேண்டும்?

லாம்ப்டாவின் சக்தி, நீங்கள் அவற்றை மற்றொரு செயல்பாட்டிற்குள் அநாமதேய செயல்பாடாகப் பயன்படுத்தும்போது சிறப்பாகக் காட்டப்படுகிறது.

ஒரு வாதத்தை எடுக்கும் ஒரு செயல்பாடு வரையறை உள்ளது என்று சொல்லுங்கள், அந்த வாதம் அறியப்படாத எண்ணால் பெருக்கப்படும்:

def myfunc(n):
  return lambda a : a * n

நீங்கள் அனுப்பும் எண்ணை எப்போதும் இரட்டிப்பாக்கும் ஒரு செயல்பாட்டை உருவாக்க அந்த செயல்பாட்டு வரையறையைப் பயன்படுத்தவும்:

எடுத்துக்காட்டு

def myfunc(n):
  return lambda a : a * n

mydoubler = myfunc(2)

print(mydoubler(11))

அல்லது, நீங்கள் அனுப்பும் எண்ணை எப்போதும் மும்மடங்காக்கும் ஒரு செயல்பாட்டை உருவாக்க அதே செயல்பாட்டு வரையறையைப் பயன்படுத்தவும்:

எடுத்துக்காட்டு

def myfunc(n):
  return lambda a : a * n

mytripler = myfunc(3)

print(mytripler(11))

அல்லது, அதே நிரலில் இரண்டு செயல்பாடுகளையும் உருவாக்க அதே செயல்பாட்டு வரையறையைப் பயன்படுத்தவும்:

எடுத்துக்காட்டு

def myfunc(n):
  return lambda a : a * n

mydoubler = myfunc(2)
mytripler = myfunc(3)

print(mydoubler(11))
print(mytripler(11))

💡 குறிப்பு:

ஒரு குறுகிய காலத்திற்கு அநாமதேய செயல்பாடு தேவைப்படும்போது லாம்ப்டா செயல்பாடுகளைப் பயன்படுத்தவும். சிக்கலான தர்க்கத்திற்கு வழக்கமான செயல்பாடுகளைப் பயன்படுத்தவும்.

உள்ளமைக்கப்பட்ட செயல்பாடுகளுடன் லாம்ப்டா

லாம்ப்டா செயல்பாடுகள் பொதுவாக map(), filter(), மற்றும் sorted() போன்ற உள்ளமைக்கப்பட்ட செயல்பாடுகளுடன் பயன்படுத்தப்படுகின்றன.

map() உடன் லாம்ப்டாவைப் பயன்படுத்துதல்

map() செயல்பாடு ஒரு மீள் செயல்படுத்தக்கூடிய ஒவ்வொரு உருப்படிக்கும் ஒரு செயல்பாட்டைப் பயன்படுத்துகிறது:

எடுத்துக்காட்டு

பட்டியலில் உள்ள அனைத்து எண்களையும் இரட்டிப்பாக்கு:

numbers = [1, 2, 3, 4, 5]
doubled = list(map(lambda x: x * 2, numbers))
print(doubled)

filter() உடன் லாம்ப்டாவைப் பயன்படுத்துதல்

filter() செயல்பாடு ஒரு செயல்பாடு True திரும்பும் உருப்படிகளின் பட்டியலை உருவாக்குகிறது:

எடுத்துக்காட்டு

ஒரு பட்டியலில் இருந்து இரட்டை எண்களை வடிகட்டு:

numbers = [1, 2, 3, 4, 5, 6, 7, 8]
odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))
print(odd_numbers)

sorted() உடன் லாம்ப்டாவைப் பயன்படுத்துதல்

sorted() செயல்பாடு தனிப்பயன் வரிசையாக்கத்திற்கான சாவியாக லாம்ப்டாவைப் பயன்படுத்தலாம்:

எடுத்துக்காட்டு

டூப்பிள்களின் பட்டியலை இரண்டாவது உறுப்பு மூலம் வரிசைப்படுத்து:

students = [("Emil", 25), ("Tobias", 22), ("Linus", 28)]
sorted_students = sorted(students, key=lambda x: x[1])
print(sorted_students)

எடுத்துக்காட்டு

நீளத்தின் அடிப்படையில் சரங்களை வரிசைப்படுத்து:

words = ["apple", "pie", "banana", "cherry"]
sorted_words = sorted(words, key=lambda x: len(x))
print(sorted_words)

பயிற்சி

பின்வரும் குறியீட்டின் முடிவு என்னவாக இருக்கும்:

x = lambda a, b : a - b
print(x(5, 3))
15
✗ தவறு! இது பெருக்கல் முடிவு, கழித்தல் அல்ல
8
✗ தவறு! இது கூட்டல் முடிவு, கழித்தல் அல்ல
2
✓ சரி! 5 - 3 = 2. லாம்ப்டா செயல்பாடு கழித்தலைச் செய்கிறது
3
✗ தவறு! இது மதிப்புகளை மாற்றியதன் முடிவு (3 - 5 = -2), ஆனால் இங்கு அது அல்ல