فهم دالة للتحقق من جميع الشروط في القوائم في Python
تمت الكتابة بواسطة: عبد الحكيم
تارخ آخر تحديث: 21 سبتمبر 2024محتوى المقال
- دالة all()
- دالة any()
- أمثلة عملية على استخدام all() وany()
- استخدام all() وany() مع القوائم الفارغة
- استخدامات متقدمة
- الخلاصة
عند التعامل مع القوائم في Python، قد تحتاج أحيانًا إلى التحقق مما إذا كانت جميع العناصر في القائمة تفي بشرط معين، أو إذا كان أي عنصر منها يفي بهذا الشرط. Python
توفر لنا دوال قوية مثل all()
وany()
لتسهيل هذه العمليات.
في هذا المقال، سنتعرف على كيفية استخدام هذه الدوال للتحقق من الشروط في القوائم وسنتناول أمثلة عملية توضح الاستخدامات المختلفة لهذه الدوال في برمجة Python.
دالة all()
دالة all()
تتحقق مما إذا كانت **جميع العناصر** في قائمة أو مجموعة تفي بشرط معين. إذا كانت جميع العناصر تفي بالشرط، فإن all()
تُعيد True
، وإذا كان هناك عنصر واحد على الأقل لا يفي بالشرط، فإنها تُعيد False
.
الدالة all()
تأخذ iterable (مثل قائمة أو مجموعة) كمدخل، وتُعيد True
فقط إذا كانت جميع القيم في هذا الـ iterable هي قيم صحيحة (truthy).
مثال 1: التحقق مما إذا كانت جميع الأرقام في القائمة موجبة
# قائمة من الأرقام
numbers = [1, 2, 3, 4, 5]
# التحقق مما إذا كانت جميع الأرقام موجبة
result = all(num > 0 for num in numbers)
print('هل جميع الأرقام موجبة؟', result) # الناتج: True
في هذا المثال، دالة all()
تتحقق مما إذا كانت جميع الأرقام في القائمة أكبر من الصفر. بما أن جميع الأرقام موجبة، فإن الدالة تُعيد True
.
دالة any()
على النقيض من all()
، دالة any()
تُعيد True
إذا كان **أي عنصر واحد على الأقل** في القائمة يفي بالشرط المحدد. وإذا لم يفي أي عنصر بالشرط، فإنها تُعيد False
.
مثال 2: التحقق مما إذا كان أي رقم في القائمة سالبًا
# قائمة من الأرقام
numbers = [1, 2, 3, -4, 5]
# التحقق مما إذا كان هناك أي رقم سالب
result = any(num < 0 for num in numbers)
print('هل يوجد رقم سالب؟', result) # الناتج: True
في هذا المثال، دالة any()
تتحقق مما إذا كان هناك أي رقم سالب في القائمة. بما أن -4
سالب، فإن الدالة تُعيد True
.
أمثلة عملية على استخدام all()
وany()
مثال 3: التحقق من صحة كلمات المرور
نفترض أننا نريد التحقق مما إذا كانت جميع كلمات المرور في قائمة كلمات المرور تتبع شروطًا معينة (مثل أن تكون أطول من 8 أحرف). يمكننا استخدام all()
للتأكد من أن جميع كلمات المرور تتبع هذا الشرط.
# قائمة بكلمات المرور
passwords = ['pass1234', 'mypassword', 'admin2023', 'short']
# التحقق من أن جميع كلمات المرور أطول من 8 أحرف
result = all(len(pwd) > 8 for pwd in passwords)
print('هل جميع كلمات المرور طويلة بما فيه الكفاية؟', result) # الناتج: False
في هذا المثال، يتم التحقق من أن جميع كلمات المرور في القائمة أطول من 8 أحرف. نظرًا لوجود كلمة مرور قصيرة (short)، فإن الدالة تُعيد False
.
مثال 4: التحقق مما إذا كان يوجد رقم زوجي في القائمة
باستخدام any()
، يمكننا التحقق مما إذا كانت القائمة تحتوي على أي رقم زوجي.
# قائمة من الأرقام
numbers = [1, 3, 5, 7]
# التحقق مما إذا كان يوجد رقم زوجي
result = any(num % 2 == 0 for num in numbers)
print('هل يوجد رقم زوجي؟', result) # الناتج: False
في هذا المثال، القائمة تحتوي فقط على أرقام فردية، لذا تُعيد دالة any()
False
.
استخدام all()
وany()
مع القوائم الفارغة
من المهم معرفة كيف تتصرف الدوال all()
وany()
عندما نستخدمها مع قوائم فارغة:
- دالة
all()
: تُعيدTrue
إذا كانت القائمة فارغة؛ لأن جميع القيم الفارغة تعتبر "صحيحة". - دالة
any()
: تُعيدFalse
إذا كانت القائمة فارغة؛ لأن ليس هناك أي عنصر صحيح في القائمة.
# قائمة فارغة
empty_list = []
# التحقق من القوائم الفارغة باستخدام all() و any()
print('نتيجة all() للقائمة الفارغة:', all(empty_list)) # الناتج: True
print('نتيجة any() للقائمة الفارغة:', any(empty_list)) # الناتج: False
كما هو موضح في هذا المثال، all()
تُعيد True
للقائمة الفارغة، بينما any()
تُعيد False
.
استخدامات متقدمة
يمكنك استخدام all()
وany()
مع دوال أخرى لتسهيل عمليات التحقق المعقدة. على سبيل المثال، يمكن دمجهما مع الدالة map()
أو مع الشروط المتداخلة.
مثال: التحقق من كون جميع الأعداد زوجية باستخدام map()
# قائمة من الأرقام
numbers = [2, 4, 6, 8]
# التحقق مما إذا كانت جميع الأرقام زوجية باستخدام map()
result = all(map(lambda x: x % 2 == 0, numbers))
print('هل جميع الأرقام زوجية؟', result) # الناتج: True
في هذا المثال، استخدمنا map()
مع all()
للتحقق مما إذا كانت جميع الأرقام زوجية.
الخلاصة
تعد دوال all()
وany()
أدوات قوية في Python للتعامل مع القوائم والتحقق من الشروط. يمكنك استخدامها في العديد من الحالات للتأكد من أن جميع العناصر أو بعض العناصر تفي بشروط معينة. باستخدام هذه الدوال، يمكنك كتابة أكواد واضحة وسهلة الصيانة لفحص القوائم بسرعة وفعالية.
طور مهاراتك: مقالات يجب قراءتها في البرمجة
- تقسيم الأعداد الصحيحة والحصول على النتيجة والباقي باستخدام دالة في Python
- تحويل الكائنات إلى تمثيل نصي باستخدام دالة repr() في Python
- استخدام دالة reversed() لعكس ترتيب العناصر في Python
- فهم دالة format() لتنسيق النصوص والأرقام في Python
- استخدام دالة chr() لتحويل الأرقام إلى حروف في Python
- تحويل الحروف إلى أرقام باستخدام دالة ord() في Python
- التعامل مع استثناءات البرمجة باستخدام دالة raise في Python
- كيفية استخدام دالة eval() لتنفيذ النصوص البرمجية في Python
- فهم دالة exec() لتنفيذ التعليمات البرمجية النصية في Python
- استخدام دالة hasattr() للتحقق من وجود خصائص للكائنات في Python