فیلتر در پایتون: مقدمه ای برای عملکرد فیلتر () [با مثال]

ساخت وبلاگ

Filter in Python

فیلتر () یک تابع داخلی در پایتون است. عملکرد فیلتر را می توان برای یک تکرار مانند لیست یا فرهنگ لغت اعمال کرد و یک تکرار جدید ایجاد کرد. این تکرار جدید می تواند بر اساس شرایطی که شما بسیار کارآمد ارائه می دهید ، عناصر خاص خاصی را فیلتر کند.

توجه: یک تکرار در پایتون شیئی است که می توانید از آن استفاده کنید. می توان مواردی را که در آن وجود دارد ، حلقه کنید و برگردانید.

روش های زیادی برای فیلتر کردن عناصر از یک لیست وجود دارد. این شامل استفاده از یک حلقه ساده برای حلقه ، درک لیست ، پیشرفته برای حلقه و غیره است. با این حال ، روش فیلتر روشی ساده و کارآمد برای فیلتر کردن عناصر ارائه می دهد و حتی خطوط کد کمتری برای انجام همان عملکرد می گیرد. این بسیار مفید است به خصوص هنگامی که شما با مجموعه های زیادی از داده ها کار می کنید.

این سناریوی ساده را در نظر بگیرید. فرض کنید ، شما لیستی از کتاب ها را دارید که حاوی جزئیات بیش از 1000 کتاب است. حال اگر سعی می کنید از یک عملکرد جامع برای فیلتر کردن کتابهای خاص استفاده کنید ، این روند از نظر استفاده از منابع می تواند کاملاً جامع باشد. لیست جامع یک لیست جدید ایجاد می کند و تا زمانی که کل عملیات خود را تمام کرده است ، شما دو لیست در حافظه ما خواهید داشت. و هنگامی که لیست ها بسیار بزرگ هستند ، این می تواند یک مشکل بزرگ ایجاد کند. علاوه بر این ، باعث افزایش زمان کلی پردازش می شود.

در مقابل با این ، عملکرد فیلتر () به سادگی یک شیء را ایجاد می کند که کپی از لیست نخواهد بود بلکه مرجع لیست اصلی خواهد بود ، همراه با عملکردی که برای فیلتر ارائه شده است و شاخص هایی که دارندبرای عبور در لیست اصلی. نیازی به گفتن نیست ، این حافظه کمتری را به خود می گیرد و سریعتر از درک لیست اجرا می شود.

دوره آموزش پایتون

نحو فیلتر در پایتون

نحو برای عملکرد فیلتر () در پایتون - است -

دو پارامتر زیر هستند -

  1. تابع - روی هر عنصر قابل تکرار کار می کند و آزمایش می کند که آیا مقدار برگشتی صحیح است یا نادرست. دنباله خروجی شامل تمام عناصر تکرار پذیر است که عملکرد آن درست است. همچنین می توان آن را به عنوان هیچ یک ذکر کرد. در چنین حالتی ، دنباله خروجی به سادگی شامل تمام عناصری خواهد بود که شرایط بولی را درست می کنند.
  2. Imperable - این نسخه قابل تکرار یا لیست مواردی است که روی آن فیلتر انجام می شود. یک تکرار پذیر می تواند یک مجموعه ، لیست ، tuple ، فرهنگ لغت و غیره باشد.

روش فیلتر () در پایتون تکرار کننده ای را برمی گرداند که شامل تمام عناصر تکرار شونده اصلی است که بررسی عملکرد را پشت سر گذاشته است.

برنامه های فیلتر در پایتون

از روش فیلتر () در پایتون می توان برای اهداف مختلف استفاده کرد. این جایگزین کامل درک لیست از نظر حافظه و زمان اجرای است. عملکرد فیلتر را می توان به همراه توابع Lambda برای جدا کردن یا فیلتر کردن عناصر بر اساس بررسی عملکرد استفاده کرد. در حقیقت ، به جای عملکرد لامبدا ، می توانید از یک عملکرد عادی/سنتی نیز استفاده کنید.

به عنوان مثال ، اگر می خواهید عناصر عجیب و غریب و حتی از لیست اعداد را به دو مجموعه مختلف فیلتر کنید ، می توانید از عملکرد فیلتر استفاده کنید. شما حتی می توانید از آن با لیستی از فرهنگ لغت استفاده کنید تا فرهنگ لغت ها را بر اساس کلیدهای آنها فیلتر کنید.

نمونه هایی از فیلتر در پایتون

اکنون چند نمونه را بررسی کنید که روشهای مختلفی را که می توانید از روش فیلتر در پایتون استفاده کنید ، نشان می دهد. می توانید با استفاده از یک عملکرد Lambda ، یک عملکرد سنتی و بدون مشخص کردن یک عملکرد ، این روش را در تکرار های مختلف امتحان کنید.

مثال 1. استفاده از فیلتر با یک عملکرد ساده در یک لیست.

فرض کنید لیستی از نامه ها را دارید و ما می خواهیم مصوت ها را با استفاده از فیلتر در آن لیست فیلتر کنیم. شما می توانید یک عملکرد ساده ایجاد کنید تا بررسی کنید که آیا نامه ای به عنوان آرگومان برای آن عملکرد یک مصوت است یا خیر و بر اساس چک درست یا نادرست را برگردانید. همچنین می توان از این روش به عنوان آرگومان عملکرد فیلتر به همراه لیست حروف استفاده کرد. حالا ، آن را امتحان کنید.

برنامه -

Def Check (نامه): list_of_vowels = ['a' ، 'e' ، 'i' ، 'o' ، 'u'] اگر نامه در لیست_of_vowels: بازگشت واقعی دیگر: برگه های کاذب را برگردانید = ['u' ، 'a'، 'q' ، 'c' ، 'i' ، 'd' ، 'z' ، 'p' ، 'e'] filtered_object = فیلتر (چک ، حروف) چاپ ("نوع شیء برگشتی:" ، نوع(filtered_object)) filtered_list = لیست (filtered_object) چاپ ("لیست مصوت ها:" ، filtered_list)

خروجی -

ExamplesofFilter_1

دوره رایگان: برنامه نویسی با پایتون

مثال 2. استفاده از فیلتر با عملکرد لامبدا در یک لیست

در این مثال ، شما از عملکرد فیلتر در لیستی از اعداد استفاده خواهید کرد تا اعداد را به دو لیست از شماره های عجیب و غریب و حتی جدا کنید. در اینجا ، از عملکرد Lambda به جای یک عملکرد سنتی در پارامتر استفاده کنید.

برنامه -

nums = [5 ، 10 ، 23 ، 64 ، 42 ، 53 ، 93 ، 2 ، 0 ، -14 ، 6 ، -22 ، -13]

#همه اعداد عجیب و غریب را از لیست قرار دهید

عجیب = فیلتر (lambda p: p ٪ 2! = 0 ، nums)

#همه شماره های حتی از لیست را فیلتر کنید

حتی = فیلتر (lambda p: p ٪ 2 == 0 ، nums)

چاپ ("لیست اعداد عجیب و غریب:" ، لیست (عجیب))

چاپ ("لیست حتی شماره ها:" ، لیست (حتی))

خروجی -

ExamplesofFilter_2

مثال 3. استفاده از فیلتر با هیچ یک به عنوان یک پارامتر عملکرد

اگر از هیچ یک به عنوان یک آرگومان عملکرد استفاده کنید ، روش فیلتر هر عنصر را از تکرار کننده ای که می داند نادرست است ، حذف می کند. برخی از نمونه های این عناصر عبارتند از: رشته های خالی ، 0 ، بریس های خالی ، کاذب بولی و غیره. اجازه دهید مثال زیر را بررسی کنیم.

برنامه -

my_list = [5 ، -23 ، "" ، درست ، نادرست ، 0 ، 0. 0 ،<>, []]

filtered_object = فیلتر (هیچ ، my_list)

برای عنصر در filtered_object:

خروجی -

ExamplesofFilter_3

توضیح -

عملکرد فیلتر فقط آن دسته از عناصری را که درست است ، برگشته است. در این مثال ، تمام عناصر فال مانند بریس های خالی ، 0 مقادیر ، رشته های خالی و غیره کاذب برمی گردند. از این رو ، آنها فیلتر نمی شوند.

مثال 4. استفاده از فیلتر با لیستی از فرهنگ لغت ها

در این مثال ، شما لیستی از فرهنگ لغت ایجاد خواهید کرد که جزئیات کتاب هایی مانند نام نویسنده ، انتشار ، قیمت و غیره را ذخیره می کند. هدف این است که سعی کنید جزئیات آن کتابهایی را که از نظر قیمت ثابت گرانتر هستند ، فیلتر کنید. بیایید مثال زیر را بررسی کنیم.

برنامه -

if book["Price"] >500:

filtered_object = فیلتر (عملکرد ، کتاب)

برای D در filtered_object:

خروجی -

ExamplesofFilter_4

توضیح -

در برنامه فوق ، شما لیستی از فرهنگ لغت ایجاد کرده اید که شامل جزئیات کتاب هایی مانند عنوان ، نویسنده ، قیمت و غیره است. شما همچنین عملکردی را تعریف کرده اید که به عنوان یک استدلال یک فرهنگ لغت است و اگر قیمت کتاب در آن درست باشدآن فرهنگ لغت بیشتر از 500 است ، و در غیر این صورت نادرست است. سپس با استفاده از عملکردی که قبلاً تعریف شده بود ، از یک فیلتر در لیست فرهنگ لغت استفاده کردید. شیء فیلتر برگشتی برای چاپ فقط عنوان آن کتابهای برگشتی توسط فیلتر تکرار شده است. همانطور که مشهود است ، فقط این عناوین بازگردانده شده اند که قیمت آنها بیشتر از 500 است.

 

مشتاقانه منتظر حرکت به قسمت برنامه نویسی هستیم؟دوره آموزش پایتون را بگیرید و کار خود را به عنوان یک برنامه نویس حرفه ای پایتون آغاز کنید

 

بسته بندی!

در این راهنمای مفصل در مورد فیلتر در پایتون ، به اصول اولیه روش فیلتر که برای فیلتر کردن عناصر از یک تکرار بر اساس یک عملکرد استفاده می شود ، نگاه کردید. در این مقاله همچنین برخی از کاربردهای معمولی روش فیلتر به همراه نحو و پارامترها مورد بحث قرار گرفته است. سپس ، شما به جلو حرکت کرده اید و نمونه های مفیدی را که در آن می توان از روش فیلتر با توابع Lambda ، توابع سفارشی و حتی با گزینه None در موارد مختلف مانند لیست ها ، لیست فرهنگ لغت ها و غیره استفاده کرد ، کاوش کردید.

اگر به دنبال مؤثرترین راه برای این صنعت فناوری توسعه وب هستید ، یک راه عالی برای شروع ثبت نام در دوره جامع آموزش پایتون است. با این دوره ، شما تمام مهارت های عملی و آماده کار مورد نیاز خود را به دست خواهید آورد و بهترین فرصت ها را برای شما در این زمینه به دست می آورید.

امیدوارم که اکنون تجربه کار با روش فیلتر در پایتون داشته باشید. آیا سوالی از ما ندارید؟آنها را در بخش نظرات این مقاله بگذارید و کارشناسان ما در سریعترین زمان برای شما پاسخ خواهند داد!

درباره نویسنده

Ravikiran a s

Ravikiran A S با SimpleLea به عنوان یک تحلیلگر تحقیق کار می کند. او یک گیک مشتاق همیشه در شکار برای یادگیری آخرین فن آوری ها است. او با زبان برنامه نویسی جاوا ، داده های بزرگ و چارچوب های قدرتمند بزرگ مانند Apache Hadoop و Apache Spark مهارت دارد.< Pan> اگر به دنبال مؤثرترین راه برای این صنعت فناوری توسعه وب هستید ، یک راه عالی برای شروع ثبت نام در دوره جامع آموزش پایتون است. با این دوره ، شما تمام مهارت های عملی و آماده کار مورد نیاز خود را به دست خواهید آورد و بهترین فرصت ها را برای شما در این زمینه به دست می آورید.

بهترین پلتفرم ترید...
ما را در سایت بهترین پلتفرم ترید دنبال می کنید

برچسب : نویسنده : جهان پناه حديث بازدید : 64 تاريخ : چهارشنبه 2 فروردين 1402 ساعت: 1:04