• 0

هل توجد صيغة أبسط لهذه الجملة الشرطية في بايثون؟

إن الطريقة الصحيحة في بايثون للتأكد ما إذا كانت السلسلة النصية x هي سلسلة نصية فرعية لـ y هي:

if x in y:

لكن لو أردت التأكد ما إذا كانت x تحتوى على أي واحدة من متغيرات aو b وc... فيمكنني فعل ذلك عن طريق السطر التالي:

if a in x or b in x or c in x or d in x or e in x or f in x or g in x

فهل توجد صياغة أقصر في بايثون لفعل ذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

إن أسهل طريقة بايثونية للتأكد من متغيّر معين موجود داخل متغير آخر هي عن طريق استخدام دالة any():

تُرجع هذه الدالة true إذا كان أحد هذه العناصر القابلة للتكرار(iterable) هو صحيح، أما لو كان عكس ذلك فسترجع False، وهذه العملية مشابه لهذه:

def any(iterable):
    for element in iterable:
        if element:
            return True

    return False

ويمكنك استخدام هذه الدالة في برنامج بسهولة كما في المثال التالي:

if any(s in x for s in (a,b,c,d,e,f,g)):

لاحظ أنني استخدمت tuple بدلا من القوائم، وهذه الطريقة مفضّلة لدى المبرمجين وهي أفضل وأسرع من استخدام القوائم في هذه الحالة.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن