Syntax | سینتکس
3.02K subscribers
410 photos
108 videos
35 files
377 links
Download Telegram
Lambda Expression

توضیح: Lambda expressions، که به عنوان anonymous functions (توابع بی‌نام) نیز شناخته می‌شوند، توابعی هستند که بدون نام تعریف می‌شوند و برای عملیات‌های کوچک و ساده مورد استفاده قرار می‌گیرند. در پایتون، این توابع با استفاده از کلمه کلیدی lambda تعریف می‌شوند.

کار با Lambda Expression در پایتون

lambda arguments: expression


- arguments: آرگومان‌هایی که تابع می‌پذیرد.
- expression: عبارتی که ارزیابی می‌شود و نتیجه آن برگردانده می‌شود.

مثال ساده

در این مثال، یک تابع لامبدا تعریف می‌کنیم که دو عدد را با هم جمع می‌کند:

add = lambda x, y: x + y

result = add(3, 4)
print(result) # Output: 7


در اینجا، تابع لامبدا دو آرگومان x و y می‌پذیرد و مقدار x + y را برمی‌گرداند.

استفاده از Lambda Expressions در توابع higher-order

توابع higher-order توابعی هستند که یک یا چند تابع را به عنوان آرگومان می‌پذیرند و یا تابعی را برمی‌گردانند. Lambda expressions معمولاً در توابع higher-order مانند map(), filter(), و reduce() استفاده می‌شوند.

مثال با map()

تابع map() یک تابع را روی هر آیتم از یک iterable اعمال می‌کند:

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

doubled = map(lambda x: x * 2, numbers)

print(list(doubled)) # Output: [2, 4, 6, 8, 10]


مثال با filter()

تابع filter() آیتم‌هایی را که تابع به عنوان True ارزیابی می‌کند، فیلتر می‌کند:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

evens = filter(lambda x: x % 2 == 0, numbers)

print(list(evens)) # Output: [2, 4, 6, 8, 10]


مثال با reduce()

تابع reduce() از ماژول functools (توضیح اینکه دقیقا چطور عمل میکنه رو خواستید بگید تو یه پست دیگه بگم):

from functools import reduce

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

product = reduce(lambda x, y: x * y, numbers)

print(product) # Output: 120


#lambda_expression #python #filter #map #reduce

@Syntax_fa
👍6