تقنية

filterfalse في بايثون: هل None تختار None فقط؟

الشرط None يعطي [None,0,""] في المثال.
الشرط الافتراضي.

تمرير None مكان شرط filterfalse يستعمل bool؛ لا يختبر تطابق العنصر مع None. [1]

الخلاصة السريعة

لا؛ تختار القيم الكاذبة هنا. [1]

  • تمرير None مكان شرط filterfalse يستعمل bool؛ لا يختبر تطابق العنصر مع None. [1]
  • على CPython 3.12.14، data تساوي [None,0,"",5]؛ النص الفارغ عنصر مستقل. [1]
  • list(filterfalse(None,data)) تعطي [None,0,""]؛ تضم الصفر والنص الفارغ أيضًا. [1]
  • لا تظهر 5؛ filterfalse تحتفظ بالعنصر حين يكون ناتج الشرط كاذبًا. None هنا وسيط يختار الشرط الافتراضي. [1]
  • لانتقاء None فقط، نمرر lambda x:x is not None؛ الناتج [None]. الشرط كاذب لهذه القيمة وحدها في مدخلنا؛ لا نخلط اختبار الهوية باختبار الحقيقة. [1]

معنى وسيط الشرط

تمرير None مكان شرط filterfalse يستعمل bool؛ لا يختبر تطابق العنصر مع None. [1]

قيم المدخل

على CPython 3.12.14، data تساوي [None,0,"",5]؛ النص الفارغ عنصر مستقل. [1]

الاختيار الافتراضي

list(filterfalse(None,data)) تعطي [None,0,""]؛ تضم الصفر والنص الفارغ أيضًا. [1]

from itertools import filterfalse data=[None,0,"",5] print(list(filterfalse(None,data))) [1]

الشرط x is not None يعطي [None].
اختبار الهوية.

الشرط والهوية

لا تظهر 5؛ filterfalse تحتفظ بالعنصر حين يكون ناتج الشرط كاذبًا. None هنا وسيط يختار الشرط الافتراضي. [1]

print(list(filterfalse(lambda x:x is not None,data))) [1]

لانتقاء None فقط، نمرر lambda x:x is not None؛ الناتج [None]. الشرط كاذب لهذه القيمة وحدها في مدخلنا؛ لا نخلط اختبار الهوية باختبار الحقيقة. [1]

المراجع

  1. Python filterfalse

للتوسع: لغات البرمجة.

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