لطفا صبرکنید...

توابع لامبدا در پایتون

توابع در پایتون-کدنویسم

توابع لامبدا در پایتون

توابع لامبدا در پایتون، که به عنوان توابع ناشناس نیز شناخته می‌شوند، توابع کوتاهی هستند که در پایتون تعریف می‌شوند و نام ندارند. آنها به طور مستقیم در محل استفاده خود تعریف می‌شوند و معمولاً فقط برای انجام یک کار ساده و خاص استفاده می‌شوند.

در این مقاله راهنمای جامع، به بررسی کامل توابع لامبدا در پایتون، از جمله نحو، کاربردها، مثال‌های عملی، و نکات مهم، می‌پردازیم.

1. نحو توابع لامبدا

ساختار کلی توابع لامبدا به صورت زیر است:

Python
lambda آرگومان‌ها: عبارت

در این ساختار:

  • lambda کلمه کلیدی برای تعریف تابع لامبدا است.
  • آرگومان‌ها متغیرهایی هستند که به تابع لامبدا داده می‌شوند.
  • عبارت دستوری است که وظیفه تابع لامبدا را انجام می‌دهد.

2. کاربردهای توابع لامبدا

توابع لامبدا در طیف گسترده‌ای از سناریوها برای انجام وظایف ساده و خاص، مانند مرتب‌سازی لیست‌ها، فیلتر کردن داده‌ها، و اعمال توابع بر روی عناصر لیست، استفاده می‌شوند.

برخی از کاربردهای رایج توابع لامبدا عبارتند از:

  • مرتب‌سازی لیست‌ها:
Python
numbers = [5, 2, 4, 1, 3]

sorted_numbers = sorted(numbers, key=lambda x: x * 2)
print(sorted_numbers)  # [1, 2, 3, 4, 5]

در این مثال، تابع لامبدا x * 2 برای مرتب‌سازی لیست numbers بر اساس دو برابر شدن هر عنصر استفاده می‌شود.

  • فیلتر کردن داده‌ها:
Python
data = [{"name": "John", "age": 30}, {"name": "Alice", "age": 25}, {"name": "Bob", "age": 22}]

filtered_data = list(filter(lambda person: person["age"] >= 25, data))
print(filtered_data)  # [{'name': 'John', 'age': 30}, {'name': 'Alice', 'age': 25}]

در این مثال، تابع لامبدا person["age"] >= 25 برای فیلتر کردن لیست data و یافتن افرادی که سن آنها 25 سال یا بیشتر است، استفاده می‌شود.

  • اعمال توابع بر روی عناصر لیست:
Python
strings = ["hello", "world", "python"]

modified_strings = list(map(lambda s: s.upper(), strings))
print(modified_strings)  # ['HELLO', 'WORLD', 'PYTHON']

در این مثال، تابع لامبدا s.upper() برای تبدیل هر عنصر در لیست strings به حروف بزرگ استفاده می‌شود.

3. مثال‌های عملی

در اینجا چند مثال عملی از توابع لامبدا در پایتون آورده شده است:

مثال 1: محاسبه مربع اعداد:

Python
squares = list(map(lambda x: x * x, range(1, 11)))
print(squares)  # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

مثال 2: بررسی زوج یا فرد بودن اعداد:

Python
is_even = lambda x: x % 2 == 0

numbers = [1, 2, 3, 4, 5]

even_numbers = list(filter(is_even, numbers))
odd_numbers = list(filter(lambda x: not is_even(x), numbers))

print(even_numbers)  # [2, 4]
print(odd_numbers)  # [1, 3, 5]

مثال 3: پیدا کردن کوچکترین عدد در لیست:

Python
smallest = lambda numbers: min(numbers)

numbers = [5, 2, 4, 1, 3]

min_number = smallest(numbers)
print(min_number)  # 1

4. نکات مهم

  • از توابع لامبدا برای انجام وظایف ساده و خاص که نیاز به تعریف تابع جداگانه ندارند، استفاده می شود.
  • از توابع لامبدا برای خواناتر و فشرده‌تر کردن کد خود استفاده کنید.
  • از توابع لامبدا به جای حلقه‌های for و توابع داخلی، زمانی که کار ساده‌ای دارید، استفاده کنید.
  • مراقب پیچیدگی بیش از حد توابع لامبدا باشید، زیرا خوانایی و اشکال‌زدایی آنها را دشوار می‌کند.
  • از توابع لامبدا در جاهایی که نیاز به متغیرهای خارجی یا دسترسی به اشیا دارید، استفاده نکنید.

5. منابع مفید:

در این مقاله، سعی کردیم به بررسی کامل توابع لامبدا در پایتون، از جمله نحو، کاربردها، مثال‌های عملی، و نکات مهم، بپردازیم. با استفاده از توابع لامبدا می‌توانید کد خود را ساده‌تر، خواناتر و فشرده‌تر کنید و از قابلیت استفاده مجدد آن بهره‌مند شوید.

codenevisam وب‌سایت

دیدگاهتان را بنویسید