بکندباز

lambda در پایتون

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، کاربرد بیشتری پیدا می‌کند. با استفاده از مثال‌هایی که در این مقاله بیان شد، می‌توانید با کاربردی‌تر شدن این مفهوم آشنا شوید و در کدنویسی پایتون خود از آن بهره‌مند شوید.

backendbaz

مدیر وب سایت بکندباز

دیدگاه‌ها

*
*