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

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

Simoh

السؤال

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

Recommended Posts

  • 0

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

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

Python: Lambda Functions

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

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

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

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...