Simoh نشر 19 أكتوبر 2015 أرسل تقرير نشر 19 أكتوبر 2015 (معدل) عادة ما أستخدم هذا الفلتر للتحقق من وجود قيمة ما في مصفوفة على Python، لكن وجدت مؤخرًا أنه يمكنني استخدام طريقة lambda للحصول على نفس النتيجة، مثال:my_list = [i for i in my_list if i.attribute == value]طريقة lambda:filter(lambda x: x.attribute == value, my_list)سؤالي يتمحور حول الفرق بين كلا الطريقتين، وهل طريقة lambda تتميز بالسرعة والفعالية -من حيث الكود-، أم أنهما سيّان؟ تم التعديل في 19 أكتوبر 2015 بواسطة Simoh اقتباس
0 E.Nourddine نشر 20 أكتوبر 2015 أرسل تقرير نشر 20 أكتوبر 2015 ملاحظة مهمة يجب عليك الانتباه لها، وهي أن الطريقة الأولى أسهل وأوضح من طريقة lambda، حيث يمكن للمبرمج المحترف والمبتدئ على حد سواء فهمها واستعمالها بشكل سليم، عكس الطريقة الثانية -lambda- التي أرى أنها غير واضحة للكل، والتي رأيت بعد البحث أنها تُستخدم بشكل أكبر في الحسابات الرياضية المعقدة شيئاً ما.فيما يخص قضية السرعة والفعالية، فهذا رهين بكيفية استخدامك للكود، وطريقة استدعاءك للدالة أو الشيفرة البرمجية المتوفرة على هذا الفلتر، لذا لا تشغل نفسك بمسألة الفعالية، بل الأهم تعلم كتابة الكود الصحيح.Python: Lambda Functions وفي هذين الشريطين، شرح لكلا الطريقتين بشكل مفصل: الفلتر بدالة labmda: اقتباس
السؤال
Simoh
عادة ما أستخدم هذا الفلتر للتحقق من وجود قيمة ما في مصفوفة على Python، لكن وجدت مؤخرًا أنه يمكنني استخدام طريقة lambda للحصول على نفس النتيجة، مثال:
طريقة lambda:
سؤالي يتمحور حول الفرق بين كلا الطريقتين، وهل طريقة lambda تتميز بالسرعة والفعالية -من حيث الكود-، أم أنهما سيّان؟
تم التعديل في بواسطة Simoh1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.