كيفية استخدام دالة any() للتحقق من الشروط في القوائم في Python

تمت الكتابة بواسطة: عبد الحكيم

تارخ آخر تحديث: 20 سبتمبر 2024

محتوى المقال

كيفية استخدام دالة any() للتحقق من الشروط في القوائم في Python

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

ما هي دالة any() في Python؟

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

بعبارة أخرى، إذا كان هناك عنصر واحد فقط يُقيّم إلى True، فإن دالة any() ستُعيد True، وإلا ستُعيد False.

كيفية استخدام any() مع القوائم

لاستخدام any() مع القوائم، كل ما عليك فعله هو تمرير القائمة كمعامل للدالة. إذا كان أي عنصر في القائمة يُقيّم إلى True، سيتم إرجاع True.

مثال 1: التحقق من وجود أي عدد موجب في القائمة

numbers = [-1, -2, -3, 4, -5]
result = any(num > 0 for num in numbers)

print('هل هناك عدد موجب؟', result) # الناتج: هل هناك عدد موجب؟ True

في هذا المثال، دالة any() تُعيد True لأن العدد 4 هو عدد موجب، وبالتالي يُحقق الشرط.

استخدام any() مع تعبيرات lambda

يمكنك أيضًا استخدام lambda مع any() لكتابة الشروط بطريقة أكثر اختصارًا.

مثال 2: التحقق من وجود عناصر أكبر من 5 باستخدام lambda

numbers = [1, 2, 3, 4, 6, 8]
result = any(lambda x: x > 5, numbers)

print('هل هناك عنصر أكبر من 5؟', result) # الناتج: هل هناك عنصر أكبر من 5؟ True

في هذا المثال، تم استخدام lambda للتحقق مما إذا كان هناك أي عدد أكبر من 5 في القائمة.

التحقق من وجود عناصر نصية في القائمة

دالة any() ليست مقتصرة فقط على القيم العددية. يمكنك استخدامها مع أي نوع من البيانات، بما في ذلك السلاسل النصية (strings). لنلقِ نظرة على كيفية استخدامها مع النصوص.

مثال 3: التحقق من وجود أسماء تبدأ بحرف "أ"

names = ['سارة', 'أحمد', 'كريم']
result = any(name.startswith('أ') for name in names)

print('هل يوجد اسم يبدأ بحرف "أ"؟', result) # الناتج: هل يوجد اسم يبدأ بحرف "أ"؟ True

في هذا المثال، نتحقق مما إذا كان هناك أي اسم في القائمة يبدأ بحرف "أ". دالة any() تُعيد True لأن "أحمد" يحقق الشرط.

التحقق من القيم الفارغة أو غير الصالحة في القوائم

يمكن استخدام any() للتحقق من القيم الفارغة أو غير الصالحة (مثل None أو القيم الفارغة) في القوائم. دعونا نرى مثالًا على ذلك.

مثال 4: التحقق من وجود قيم None أو قيم فارغة في القائمة

values = ['', 0, None, 'Python']
result = any(val is None or val == '' for val in values)

print('هل توجد قيم فارغة أو None؟', result) # الناتج: هل توجد قيم فارغة أو None؟ True

في هذا المثال، دالة any() تُعيد True لأن القائمة تحتوي على قيمة None وسلسلة نصية فارغة.

استخدام any() مع القوائم المتداخلة

يمكنك استخدام any() مع القوائم المتداخلة للتحقق مما إذا كان أي عنصر في القوائم الداخلية يُحقق شرطًا معينًا.

مثال 5: التحقق من وجود عنصر أكبر من 10 في قوائم متداخلة

nested_lists = [[1, 2], [3, 4], [11, 5]]
result = any(num > 10 for sublist in nested_lists for num in sublist)

print('هل يوجد عنصر أكبر من 10؟', result) # الناتج: هل يوجد عنصر أكبر من 10؟ True

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

مقارنة any() مع all()

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

مثال 6: مقارنة بين any() و all()

numbers = [1, 2, 3, 4, 5]

# التحقق مما إذا كان أي عدد أكبر من 3
any_result = any(num > 3 for num in numbers)

# التحقق مما إذا كانت جميع الأرقام أكبر من 3
all_result = all(num > 3 for num in numbers)

print('هل يوجد أي عدد أكبر من 3؟', any_result) # الناتج: True
print('هل جميع الأعداد أكبر من 3؟', all_result) # الناتج: False

في هذا المثال، نتحقق مما إذا كان هناك أي عدد أكبر من 3 باستخدام any()، ثم نتحقق مما إذا كانت جميع الأرقام أكبر من 3 باستخدام all().

التطبيقات العملية لدالة any()

تُستخدم any() في العديد من التطبيقات اليومية، مثل:

  • التحقق من وجود قيم صالحة في نموذج (form) أو بيانات المستخدم.
  • التحقق من القيم الفارغة أو الأخطاء في البيانات.
  • تصفية البيانات بناءً على شرط معين.

الخلاصة

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

طور مهاراتك: مقالات يجب قراءتها في البرمجة