• 2

ما الفرق بين استخدام تعبيرات المولد وبين تفهيم القائمة في بايثون؟

أريد معرفة متى استخدم تعبيرات المولد Generator Expression وتفهيم القائمة List Comprehension في بايثون؟ هل يوجد فرق بين استخدام كل واحدة منها؟

1 شخص أعجب بهذا

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


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

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

أضف إلى ذلك أنه إذا كنت تريد استخدام توابع وطرق القوائم (مثل تشريع السلسلة …) يجب عليك استخدام تفهيم القائمة لأن هذه الأشياء غير مدعومة من المولد.

1 شخص أعجب بهذا

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


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

السَّبب أنَّ المولِّدات generators أسرع من القوائم العاديَّة فهي تعطيك القيمة بالوقت المُحدَّد لإستخدامها بعكس القائمة التي تعود لك بالقيم كاملة ممَّا يضع عبئًا إضافيَّا على برنامجك؛ ولهذا السبب يتم تفضيل إستخدام xrange في بايثون ٢ على range.

والجدير بالذكر أن الدالة xrange قد أُزيلت في بايثون ٣ دون وضع بديل وهذا برأيي أمر خاطئ من قبلهم.

1 شخص أعجب بهذا

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


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

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

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

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


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

تسجيل الدخول

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


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