• 0

ماهو الفرق بين استخدام filter وlambda في Python؟

عادة ما أستخدم هذا الفلتر للتحقق من وجود قيمة ما في مصفوفة على Python، لكن وجدت مؤخرًا أنه يمكنني استخدام طريقة lambda للحصول على نفس النتيجة، مثال:

my_list = [i for i in my_list if i.attribute == value]

طريقة lambda:

filter(lambda x: x.attribute == value, my_list)

سؤالي يتمحور حول الفرق بين كلا الطريقتين، وهل طريقة lambda تتميز بالسرعة والفعالية -من حيث الكود-، أم أنهما سيّان؟

تمّ تعديل بواسطة Simoh

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


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

ملاحظة مهمة يجب عليك الانتباه لها، وهي أن الطريقة الأولى أسهل وأوضح من طريقة lambda، حيث يمكن للمبرمج المحترف والمبتدئ على حد سواء فهمها واستعمالها بشكل سليم، عكس الطريقة الثانية -lambda- التي أرى أنها غير واضحة للكل، والتي رأيت بعد البحث أنها تُستخدم بشكل أكبر في الحسابات الرياضية المعقدة شيئاً ما.

فيما يخص قضية السرعة والفعالية، فهذا رهين بكيفية استخدامك للكود، وطريقة استدعاءك للدالة أو الشيفرة البرمجية المتوفرة على هذا الفلتر، لذا لا تشغل نفسك  بمسألة الفعالية، بل الأهم  تعلم كتابة الكود الصحيح.

Python: Lambda Functions

 وفي هذين الشريطين، شرح لكلا الطريقتين بشكل مفصل:

 الفلتر بدالة labmda:

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


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

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

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

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


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

تسجيل الدخول

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


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