> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/arabic/alblwkat-alwzyfyh/blocks-reference/data-logic/data-operations/exclude-nones.md).

# Exclude Nones

تقوم هذه الدالة (function block) بإزالة الإدخالات التي قيمتها `None` من قائمة مُعطاة. استخدمها عندما تحتاج إلى قائمة نظيفة خالية من الخانات الفارغة قبل معالجة لاحقة أو تصدير.

## 📥 المدخلات <a href="#inputs" id="inputs"></a>

`Data List` — مقبس إدخال يستقبل قائمة من القيم. العناصر قد تكون من أي نوع وبعضها قد تكون قيمتها `None`.

## 📤 المخرجات <a href="#outputs" id="outputs"></a>

`Filtered Data List` — مقبس خرج يُرجع نفس ترتيب القائمة ولكن مع إزالة جميع العناصر التي قيمتها `None`.

## 🕹️ الضوابط <a href="#controls" id="controls"></a>

لا يحتوي هذا البلوك على عناصر تحكم قابلة للتعديل من قبل المستخدم. يعمل تلقائيًا عند توفر قائمة الإدخال.

## 🎯 الميزات <a href="#features" id="features"></a>

* إزالة سريعة وبسيطة لقيم `None` مع الحفاظ على ترتيب العناصر الأصلي.
* يعمل مع قوائم ذات أنواع مختلطة (أرقام، نصوص، صور، قواميس، إلخ).
* مفيد لتنظيف مخرجات دفعات أو قوائم قبل المعالجة اللاحقة أو التصدير.

## ⚙️ آلية التشغيل <a href="#evaluation" id="evaluation"></a>

عند التنفيذ يقرأ البلوك القيمة من مدخل `Data List`، يقوم بتصفية أي عناصر قيمتها `None`، ثم يصدر القائمة المنقحة إلى `Filtered Data List`. إذا كان الإدخال فارغًا أو يحتوي فقط على عناصر `None`، فسيكون الخرج قائمة فارغة.

## 💡 نصائح وحيل <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* اجمعه مع `Replace None` عندما تفضل استبدال قيم افتراضية بدلاً من إزالة العناصر.
* استخدم `Get Element` أو `List Operations` بعد هذا البلوك للوصول أو التلاعب بالعناصر بأمان دون الحاجة للتحقق من `None`.
* استخدم `Is None` قبل هذا البلوك لتفريع المنطق (مثال: تخطي المعالجة عندما تكون العديد من العناصر `None`).
* في تدفقات العمل الدُفعية، قم بإقرانه مع `Batch Processing`, `Debatch`, أو `Batch Concatenation` للتعامل مع مدخلات ومخرجات القوائم/الدفعات بشكل نظيف.
* خزّن النتائج المنقحة باستخدام `Data Memory` إذا احتجت لتجميد القائمة المفلترة حتى يتم طلب تحديث.
* حضّر البيانات للتصدير عن طريق توجيه الخرج إلى `Data to JSON`, `CSV Export`, أو `Image Logger` (عندما تحتوي القائمة على صور).
* استخدم `Debug Input` لفحص القوائم الواردة إذا بدت النتائج غير متوقعة.

## 🛠️ استكشاف الأخطاء وإصلاحها <a href="#troubleshooting" id="troubleshooting"></a>

* إذا احتوى الخرج على `None` ما زال، فتأكد أن القيمة عند `Data List` هي فعلاً قائمة وليست نوع بيانات آخر.
* إذا لم يظهر شيء على المخرج، افحص البلوكات الأعلى باستخدام `Debug Input` للتأكد أنها تُنتج القائمة المتوقعة.
