filter() التصفية حسب دالة

آخر تحديث: 2026-09-22

filter() التصفية حسب دالة

يُبقي filter(function, iterable) العناصر في iterable التي تُرجع لها function القيمة True؛ ويُرجع مُكرِّرًا.

التصنيفالدوال المدمجة
النوعدالة مدمجة
إصدار بايثونall

📝 الصياغة

filter(function, iterable)

⚙️ المعاملات

function مطلوبThe predicate; pass None to use element truthiness directly.
iterable مطلوبThe iterable to filter.

القيمة المُعادة:A filter iterator; wrap with list() to materialize it.

💥 الاستثناءات

▶ مثال

عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:

المخرجات:

[2, 4]
المزيد من الحالات قادم قريباً — تابعونا.

❓ أسئلة شائعة

Qماذا تُرجع filter()؟
Aتُرجع مكرر filter (كسول)؛ يجب تحويلها إلى قائمة بـ list(filter(...)) أو تكرارها للحصول على النتائج.
Qماذا تعني filter(None, lst)؟
Aعندما تكون function هي None، تُفلتر حسب القيمة الحقيقية للعناصر، وتكافئ [x for x in lst if x]، وتزيل دفعة واحدة القيم الكاذبة مثل 0 و '' و None.
Qأيهما أفضل، filter() أم قائمة الاشتقاق؟
Aعند تساوي الدلالة يكون الاشتقاق [x for x in lst if cond] أكثر قابلية للقراءة؛ بينما يكون filter مع الدوال الموجودة مسبقًا (مثل filter(str.isdigit, s)) أكثر إيجازًا.
Qهل تنفّذ filter دالة الحكم فورًا؟
Aلا. filter كسول التقييم؛ لا تستدعي function عنصرًا بعنصر إلا عندما تبدأ التكرار — مناسب لسلاسل العمليات على بيانات ضخمة.
Web-Tutorial.com

فريق Web-Tutorial التقني

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

100%