map, filter در پایتون (map and filter in python)

خلاصه:map و filter دو تابع پیشفرض در پایتون هستند که از آنها برای پردازش لیستها و اعمال توابع به عناصر آنها استفاده میشود. این دو تابع ابزارهای کارآمدی هستند که برنامهنویسان پایتون به کمک آنها میتوانند کدهای ساده و خوانا برای پردازش دادهها بنویسند.
مقاله:
در پایتون، map و filter دو تابع پیشفرض هستند که از آنها برای پردازش لیستها و اعمال توابع به عناصر آنها استفاده میشود. این دو تابع کاربردهای مختلفی دارند و به کمک آنها میتوان کدهای ساده و خوانا برای پردازش دادهها نوشت. در این مقاله، به بررسی جزئیات map و filter و کاربردهای آنها خواهیم پرداخت.
تابع map:تابع map به عنوان ورودی یک تابع و یک لیست دریافت میکند و تابع دادهشده را به هر یک از عناصر لیست اعمال کرده و نتیجه را در یک لیست جدید برمیگرداند. ساختار کلی تابع map به صورت زیر است:
pythonCopy codemap(function, iterable)در اینجا، function تابعی است که میخواهیم به عناصر لیست اعمال کنیم و iterable لیستی است که میخواهیم روی آن عملیات انجام دهیم.
تابع map میتواند انواع مختلفی از توابع را به عنوان ورودی بپذیرد، از جمله توابع داخلی پایتون، توابع سفارشی تعریف شده توسط کاربر و حتی توابع لامبدا.
برای مثال، فرض کنید یک لیست اعداد صحیح داشته باشیم و میخواهیم هر یک از اعداد را به توان 2 برسانیم با استفاده از تابع map:
pythonCopy codenumbers = [1, 2, 3, 4, 5]squares = map(lambda x: x**2, numbers)print(list(squares))در این مثال، تابع lambda به عنوان تابع ورودی به تابع map ارسال شده است. تابع lambda برای محاسبه توان 2 اعداد ورودی استفاده شده است. نتیجه این عملیات به صورت [1, 4, 9, 16, 25] در لیست squares ذخیره میشود.
تابع filter:
تابع filter نیز به عنوان ورودی یک تابع و یک لیست دریافت میکند و تابع دادهشده را برروی عناصر لیست اجرا کرده و عناصری که شرط مشخص شده در تابع برآورده کنند را در یک لیست جدید برمیگرداند. ساختار کلی تابع filter به صورت زیر است:
pythonCopy codefilter(function, iterable)در اینجا، function تابعی است که برای بررسی شرط برروی عناصر لیست استفاده میشود و iterable لیستی است که میخواهیم روی آن عملیات انجام دهیم.
برای مثال، فرض کنید یک لیست اعداد صحیح داشته باشیم و میخواهیم اعداد زوج را انتخاب کنیم با استفاده از تابع filter:
pythonCopy codenumbers = [1, 2, 3, 4, 5]evens = filter(lambda x: x �2 == 0, numbers)print(list(evens))در این مثال، تابع lambda به عنوان تابع ورودی به تابع filter ارسال شده است.
تابع lambda برای بررسی اعداد زوج شرط استفاده شده است. نتیجه این عملیات به صورت [2, 4] در لیست evensذخیره میشود. با استفاده از توابع map و filter در پایتون، میتوانیم کدهای کوتاه و خوانا بسازیم و عملیاتهای متعددی را بر روی لیستها انجام دهیم. این توابع از پارادایم تابعی برای کدنویسی بهرهبرداری میکنند و قدرت و انعطافپذیری بالایی در برنامهنویسی پایتون ارائه میدهند. از آنجا که این توابع عملیاتهای مرتبط با لیست را بهبود میبخشند، آنها ابزارهای قدرتمندی برای کار با دادهها و پردازش آنها در پایتون هستند.
بطور خلاصه، توابع map و filter در پایتون ابزارهایی هستند که برای عملیات مرتبط با لیستها استفاده میشوند. تابع map به عنوان ورودی یک تابع و یک لیست دریافت میکند و تابع دادهشده را برروی هر عنصر از لیست اجرا کرده و نتایج را در یک لیست جدید برگردانده، در حالی که تابع filter برای فیلتر کردن عناصر یک لیست بر اساس یک شرط مشخص استفاده میشود و عناصری که شرط را برآورده نمیکنند را از لیست حذف میکند.
استفاده از توابع map و filter به ما امکان میدهد که کدهای کوتاه و خوانا بسازیم و عملیاتهای مرتبط با لیستها را به سادگی انجام دهیم. این توابع معمولاً در کنار توابع دیگری مانند reduce و zip نیز استفاده میشوند تا به ما ابزارهای قدرتمندی برای پردازش و کار با دادهها در پایتون ارائه دهند.