Lambda یکی از مفاهیم مهم در زبان برنامهنویسی پایتون است که برای تعریف توابع کوتاه و یکبار مصرف استفاده میشود. در این مقاله، به بررسی مفهوم lambda در پایتون، نحوه استفاده از آن و مثالهایی از کاربرد آن خواهیم پرداخت.
مفهوم Lambda در پایتون
Lambda یک تابع بدون نام است که میتواند به طور آنی ایجاد و استفاده شود. این تابع دارای یک یا چند ورودی و یک خروجی است و به صورت زیر تعریف میشود:
lambda arguments: expression
در اینجا، arguments میتواند یک یا چند مقدار باشد که به عنوان ورودی برای تابع استفاده میشوند، و expression نیز عبارتی است که تابع باید آن را ارزیابی کند و خروجی را ایجاد کند. به عنوان مثال، تابع زیر یک lambda است که دو عدد را جمع میکند:
add = lambda x, y: x + y
این تابع میتواند به صورت زیر فراخوانی شود:
result = add(3, 5)
print(result) # خروجی: 8
مزیت استفاده از Lambda
استفاده از lambda در پایتون برای تعریف توابع کوتاه و ساده کاربرد دارد. این توابع به صورت یک خطی تعریف میشوند و برای کاربردهایی مانند مرتبسازی لیستها، فیلتر کردن دادهها و یا تبدیل دادهها به کار میروند. به علاوه، استفاده از lambda در کنار توابع built-in مانند map، filter و reduce، به راحتی امکان پذیر است و کد را خوانا تر و کوتاه تر میکند.
مثالهایی از کاربرد Lambda
مثال 1
به عنوان مثال، فرض کنید یک لیست از اعداد صحیح داریم و میخواهیم آن را مرتب کنیم. این کار با استفاده از تابع پیش ساخته sorted و lambda به صورت زیر انجام میشود:
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers = sorted(numbers, key=lambda x: x)
print(sorted_numbers) # خروجی: [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
مثال 2
همچنین، میتوانیم از lambda برای فیلتر کردن دادههای یک لیست استفاده کنیم. به عنوان مثال، فرض کنید یک لیست از اعداد صحیح داریم و میخواهیم تنها اعداد فرد را انتخاب کنیم. این کار با استفاده از تابع پیش ساخته filter و lambda به صورت زیر انجام میشود:
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))
print(odd_numbers) # خروجی: [3, 1, 1, 5, 9, 5, 3, 5]
در این مثال، تابع lambda برای بررسی اینکه آیا یک عدد فرد است یا نه، استفاده شده است. اعدادی که شرط را برآورده میکنند، با استفاده از تابع built-in list به یک لیست تبدیل شده و نمایش داده میشوند.
مثال 3
یک مثال از استفاده از lambda در تابع reduce برای محاسبه حاصلضرب عناصر یک لیست. برای این کار، ابتدا باید تابع reduce و تابع lambda را import کنیم:
from functools import reduce
سپس، میتوانیم یک لیست از اعداد صحیح دلخواه ایجاد کرده و با استفاده از تابع reduce و lambda، حاصلضرب آن را محاسبه کنیم. کد زیر به این منظور میتواند به کار رود:
my_list = [2, 3, 5, 7, 11, 13]
product = reduce(lambda x, y: x * y, my_list)
print(product) # خروجی: 30030
در این مثال، تابع lambda برای ضرب دو عدد به کار رفته و تابع reduce برای اعمال این تابع به عناصر لیست به ترتیب، استفاده شده است. در نتیجه، حاصلضرب عناصر لیست به دست آمده و نمایش داده شده است.
نتیجه گیری:
Lambda یکی از مفاهیم مهم در پایتون است که برای تعریف توابع کوتاه و یکبار مصرف به کار میروند. استفاده از lambda به راحتی امکان پذیر است و با توابع پیش ساخته مانند map، filter و reduce، کاربرد بیشتری پیدا میکند. با استفاده از مثالهایی که در این مقاله بیان شد، میتوانید با کاربردیتر شدن این مفهوم آشنا شوید و در کدنویسی پایتون خود از آن بهرهمند شوید.
دیدگاهها