filter()
تصفية العناصر بشرط — filter() filter()
filter() تُبقي فقط العناصر التي تُرجع الدالة الممرَّرة معها True، وتحذف الباقي.
تأخذ دالة تُرجع True أو False وكائنًا قابلًا للتكرار، وتُرجع كائنًا جديدًا كسولًا يحوي فقط العناصر المطابقة للشرط.
لو مرّرت None بدل دالة، تحذف filter تلقائيًا كل القيم الكاذبة (0، فارغ، None، False).
الصياغة
filter(function, iterable)
📄 مثال
nums = [1, 2, 3, 4, 5, 6] evens = list(filter(lambda x: x % 2 == 0, nums)) print(evens) # [2, 4, 6]
أهم المعاملات
| المعامل | الوظيفة |
|---|---|
| function | دالة تُرجع True/False لكل عنصر، أو None لحذف القيم الكاذبة تلقائيًا |
| iterable | الكائن المُراد تصفيته |
💡 نصائح عملية
- list comprehension بشرط if غالبًا أوضح للقراءة: [x for x in nums if x % 2 == 0]
- تمرير None كدالة اختصار مفيد لحذف كل القيم الفارغة دفعة واحدة
⚠️ أخطاء شائعة
- نسيان تحويل النتيجة لقائمة بـ list() قبل استخدامها كقائمة
- الظن أن filter تُعدّل القائمة الأصلية في مكانها — هي تُرجع كائنًا جديدًا دائمًا
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار PYTHON الكامل بالعربي.