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

السؤال

Recommended Posts

  • 0
نشر

أعتقد أن الصياغة التي تبحث عنها هي هذه:

lambda x: True if x % 2 == 0 else False

لكنها تعتبر صياغة سيئة في بايثون ولا ينصح باستخدامها.
المشكلة أنه لا يمكنك كتابة أي أمر في دالة lambda فمثلا  لا يمكنك استخدام print أو raise فيها.
طريقة أخرى للحل باستخدام lambda:

f = lambda x: x == 2 and x or None

الحل الآخر هو أن تقوم بعمل دالة كاملة بدل استخدام lambda وهذا الحل في رأيي هو الأفضل، وسيكون شكل الدالة الكاملة كالتالي:

def f(x):
    if x == 2:
        print(x)
    else:
        raise ValueError


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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...