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]
>>>
نکته:مانند نقشه، نتیجه باید به صراحت به یک لیست تبدیل شود اگر شما می خواهید آن را چاپ کنید.