Dec 17, 2025ترك رسالة

كيفية استخدام وظيفة التصفية في بايثون؟

في عالم البرمجة ومعالجة البيانات، تبرز لغة بايثون كلغة متعددة الاستخدامات وقوية. واحدة من العديد من الميزات المفيدة هيفلتر()وظيفة، والتي يمكن أن تغير قواعد اللعبة عندما يتعلق الأمر بمعالجة البيانات. باعتباري موردًا للمرشحات، رأيت مدى أهمية مفهوم التصفية ليس فقط في المنتجات الواقعية التي نقدمها، مثلفلتر تنقية مياه مركزيوتصفية مسبقةولكن أيضًا في المجال الرقمي للبرمجة.

فهم أساسياتفلتر()وظيفة

الفلتر()الوظيفة في Python هي وظيفة مضمنة تتيح لك إنشاء عنصر تكراري جديد (مثل قائمة أو مجموعة أو مجموعة) عن طريق تصفية العناصر من عنصر تكراري موجود بناءً على شرط معين. بناء الجملة الأساسي للفلتر()الوظيفة هي كما يلي:

مرشح (وظيفة، قابلة للتكرار)

هنا،وظيفةهو كائن قابل للاستدعاء يأخذ وسيطة واحدة ويعيد قيمة منطقية (حقيقيأوخطأ شنيع). القابل للتكرارهو أي كائن بايثون يمكن تكراره، مثل قائمة أو صف أو سلسلة.

لنبدأ بمثال بسيط. لنفترض أن لدينا قائمة من الأرقام ونريد تصفية جميع الأرقام الزوجية.

أرقام = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # تحديد دالة للتحقق مما إذا كان الرقم فرديًا def is_odd(num): return num % 2 != 0 # استخدم وظيفة التصفية () filtered_numbers = filter(is_odd, number) # تحويل النتيجة إلى قائمة result = list(filtered_numbers) print(result)

في هذا المثال،is_oddيتم استخدام الوظيفة كشرط التصفية. الفلتر()تتكرر الدالة على كل عنصر فيأرقامالقائمة، تطبقis_oddدالة إليها، وتحتفظ فقط بالعناصر التي تعود إليها الدالةحقيقي. وأخيرا، نقوم بتحويل نتيجةفلتر()إلى القائمة وطباعتها.

استخدام وظائف Lambda معفلتر()

في كثير من الحالات، يكون شرط التصفية بسيطًا ويمكن تعريفه باستخدام دالة لامدا. دالة لامدا هي دالة مجهولة في بايثون، مما يعني أنها لا تحتاج إلى اسم. يمكن تعريفه في سطر واحد وغالبًا ما يستخدم للوظائف قصيرة العمر.

لنعيد كتابة المثال السابق باستخدام دالة لامدا:

الأرقام = [1، 2، 3، 4، 5، 6، 7، 8، 9، 10] filter_numbers = filter(lambda x: x % 2 != 0, number) result = list(filtered_numbers) print(result)

وظيفة لامدالامدا س: س % 2 != 0يأخذ حجة واحدةسويعودحقيقيلوسغريب وخطأ شنيعخلاف ذلك. وهذا يجعل التعليمات البرمجية أكثر إيجازًا، خاصة بالنسبة لشروط التصفية البسيطة.

تصفية أنواع مختلفة من العناصر التكرارية

الفلتر()يمكن استخدام الدالة مع أنواع مختلفة من العناصر التكرارية. على سبيل المثال، دعونا نفكر في مجموعة من السلاسل ونقوم بتصفية جميع السلاسل التي يقل طولها عن 5.

الكلمات = ('تفاحة'، 'حظر'، 'كرز'، 'تاريخ'، 'كبير') filter_words = filter(كلمة لامدا: len(word) >= 5، كلمات) result = tuple(filtered_words) print(result)

في هذه الحالة، نستخدم دالة لامدا للتحقق من طول كل سلسلة في الصف. الفلتر()تقوم الدالة بعد ذلك بإنشاء صف جديد يحتوي فقط على السلاسل التي تفي بالشرط.

تصفية القواميس

على الرغم منفلتر()تم تصميم الوظيفة للعمل مع العناصر القابلة للتكرار، ويمكننا استخدامها لتصفية القواميس أيضًا. ومع ذلك، علينا أن نكون أكثر إبداعًا بعض الشيء. لنفترض أن لدينا قاموسًا حيث المفاتيح هي الأسماء والقيم هي الأعمار، ونريد تصفية جميع الأشخاص الذين تقل أعمارهم عن 18 عامًا.

people = {'أليس': 20، 'بوب': 15، 'تشارلي': 22، 'ديفيد': 17} filtered_people = dict(filter(lambda item: item[1] >= 18,people.items())) print(filtered_people)

وهنا نستخدمأغراض()طريقة القاموس للحصول على أزواج قابلة للتكرار من المفتاح والقيمة. تأخذ دالة لامدا كل زوج من المفاتيح والقيمة (ممثل في صف) وتتحقق مما إذا كانت القيمة (العمر) أكبر من أو تساوي 18. وأخيرًا، نقوم بتحويل النتيجة إلى قاموس.

Central Water Purification FilterPre-filter suppliers

تطبيقات حقيقية في العالم ومتوازية مع المرشحات المادية

في العالم الحقيقي، باعتبارنا موردًا للمرشحات، فإننا ندرك أهمية التصفية. الفلتر تنقية مياه مركزيتم تصميمه لإزالة الشوائب من إمدادات المياه، مما يضمن أن المياه التي نستخدمها في منازلنا وصناعاتنا نظيفة وآمنة. وبالمثل، فإنتصفية مسبقةيُستخدم لالتقاط الجزيئات الأكبر حجمًا قبل عملية الترشيح الرئيسية، مما يحمي المرشحات الأكثر حساسية وباهظة الثمن في اتجاه مجرى النهر.

في البرمجة،فلتر()وظيفة تلعب دورا مماثلا. فهو يساعدنا على تنظيف بياناتنا وتحسينها، وإزالة العناصر غير المرغوب فيها وترك فقط البيانات التي تلبي معاييرنا المحددة. على سبيل المثال، في مشروع تحليل البيانات، قد يكون لدينا مجموعة بيانات كبيرة تحتوي على العديد من السجلات، ولكننا مهتمون فقط بمجموعة فرعية من السجلات التي تستوفي شروطًا معينة. الفلتر()يمكن للوظيفة استخراج هذه المجموعة الفرعية بسرعة وكفاءة، تمامًا كما يزيل المرشح الفيزيائي الشوائب من السائل.

الاستخدام الأمثلفلتر()

عند استخدامفلتر()وظيفة، هناك بعض الأشياء التي يجب وضعها في الاعتبار لتحسين أدائها. أولاً، إذا كنت تعمل مع كائن قابل للتكرار كبير الحجم، فكر في استخدام المولدات بدلاً من تحويل النتيجة إلى قائمة على الفور. الفلتر()ترجع الدالة مكررًا، بحيث يمكنك تكراره مباشرة دون استهلاك كمية كبيرة من الذاكرة مرة واحدة.

Large_numbers = range(1000000)odd_numbers = filter(lambda x: x % 2 != 0,large_numbers) # قم بالتكرار فوق المكرّر دون التحويل إلى قائمة الأرقام في الأرقام الفردية: print(num)

نصيحة أخرى للتحسين هي استخدام وظيفة التصفية الأكثر ملاءمة. إذا كانت حالة التصفية معقدة، فقد يكون من الأفضل تحديد دالة عادية بدلاً من دالة lambda لتحسين إمكانية القراءة والصيانة.

خاتمة

الفلتر()تعد الوظيفة في Python أداة قوية ومرنة لمعالجة البيانات. سواء كنت تعمل على برنامج نصي صغير أو مشروع تحليل بيانات واسع النطاق، فيمكن أن يساعدك ذلك على تصفية البيانات غير المرغوب فيها بكفاءة والتركيز على المعلومات المهمة. تمامًا كما هو الحال مع مرشحاتنا المادية، مثلفلتر تنقية مياه مركزيوتصفية مسبقة، ضرورية لضمان جودة المياه، وفلتر()تعتبر الوظيفة ضرورية للحفاظ على جودة بياناتك.

إذا كنت مهتمًا بمنتجاتنا المرشحة عالية الجودة أو لديك أي أسئلة حول كيفية تطبيقفلتر()في مشاريع البرمجة الخاصة بك، نحن نشجعك على التواصل معنا لإجراء مناقشة حول المشتريات. فريق الخبراء لدينا على استعداد لمساعدتك في العثور على أفضل الحلول لاحتياجاتك.

مراجع

  • وثائق بايثون الرسمية حول الوظائف المضمنة
  • "دورة تدريبية مكثفة في بايثون" لإريك ماتيس

إرسال التحقيق

whatsapp

الهاتف

البريد الإلكتروني

التحقيق