اذهب إلى المحتوى
  • 0

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

TheBrain

السؤال

إن الطريقة الصحيحة في بايثون للتأكد ما إذا كانت السلسلة النصية 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

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 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 بدلا من القوائم، وهذه الطريقة مفضّلة لدى المبرمجين وهي أفضل وأسرع من استخدام القوائم في هذه الحالة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...