map و filter

  • مدرس: علی بیگدلی
  • تاریخ انتشار: 1402/05/03
  • تعداد بازدید: 135

Map و Filter

توابع پایه و درونی همچون map و filter توابع مرتبه بالاتر و بسیار مفیدی هستند که بر روی لیست ها (یا اشیاء مشابه به نام iterables) عمل می کنند.

Map

تابع map یک تابع و یک iterable را به عنوان یک آرگومان دریافت می کند و یک iterable جدید و یک تابع که بر روی آن اعمال شده است را باز می گرداند. مثال:

def add_five(x):
  return x + 5

nums = [11, 22, 33, 44, 55]
result = list(map(add_five, nums))
print(result)

خروجی:

>>>
[16, 27, 38, 49, 60]
>>>

ما می توانستیم نتیجه مشابه را با استفاده از لامبدا آسان تر بدست آوریم.

nums = [11, 22, 33, 44, 55]

result = list(map(lambda x: x+5, nums))
print(result)

نکته:برای تبدیل نتیجه به لیست، ما از لیست به صراحت استفاده کردیم.

Filter

فیلتر تابع با پاک کردن مواردی که با یک پیش فرض مطابقت ندارند، تکرار می شود. مثال:

nums = [11, 22, 33, 44, 55]
res = list(filter(lambda x: x%2==0, nums))
print(res)

خروجی:

>>>
[22, 44]
>>>

نکته:مانند نقشه، نتیجه باید به صراحت به یک لیست تبدیل شود اگر شما می خواهید آن را چاپ کنید.