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

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

المبرمج العربي

السؤال

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

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

Recommended Posts

  • 1

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

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

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

  • 1

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

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

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

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...