استفاده با mapfilter

کاربرد توابع map و filter در پایتون

در برنامه‌نویسی پایتون، توابع map و filter از ابزارهای قدرتمند برای پردازش داده‌ها هستند. این توابع با ترکیب توابع lambda، کد را مختصر و خوانا می‌کنند.

تابع map

تابع map یک تابع و یک لیست را دریافت کرده و تابع را روی تمام عناصر لیست اعمال می‌کند:

map(function, iterable)

مثال کاربردی:

  • تبدیل لیست اعداد به مقادیر مربع
  • اعمال تغییرات روی رشته‌ها
  • پردازش داده‌های جدولی
ورودی خروجی
map(lambda x: x*2, [1,2,3]) [2, 4, 6]

تابع filter

این تابع عناصری از لیست را که شرط خاصی دارند، فیلتر می‌کند:

  1. حذف مقادیر None از لیست
  2. انتخاب اعداد زوج
  3. فیلتر کردن رشته‌های خاص

برای یادگیری عمیق‌تر درباره lambda در پایتون می‌توانید از این آموزش بازدید کنید.


ترکیب map و filter

این دو تابع را می‌توان برای پردازش پیچیده‌تر داده‌ها ترکیب کرد:

اعداد = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

نتیجه = map(lambda x: x**2, filter(lambda x: x%2==0, اعداد))

# خروجی: [4, 16, 36, 64, 100]

نکته: همیشه می‌توانید از list comprehension به جای map/filter استفاده کنید، اما این توابع در برخی موارد خوانایی بهتری دارند.