ما هي ميزة وعيوب استخدام فهم القائمة في بيثون 2.54-6؟

StackOverflow https://stackoverflow.com/questions/1760215

سؤال

لقد سمعت أن هذه القائمة قد تكون بطيئة في بعض الأحيان ، لكنني لست متأكدًا من السبب؟ أنا جديد على Python (قادم من خلفية C#) ، وأود أن أعرف المزيد عن وقت استخدام فهم قائمة مقابل حلقة. أي أفكار أو اقتراحات أو نصيحة أو أمثلة؟ شكرا لجميع التعليمات.

هل كانت مفيدة؟

المحلول

استخدم فهم قائمة (LC) عندما يكون ذلك مناسبًا.

على سبيل المثال ، إذا كنت تمرر أي ol 'ithable إلى وظيفة ، فإن تعبير المولد (genexpr) غالبًا ما يكون أكثر ملاءمة ، و LC مضيعة:

"".join([str(n) for n in xrange(10)])
# becomes
"".join(str(n) for n in xrange(10))

أو ، إذا لم تكن بحاجة إلى قائمة كاملة ، فستكون حلقة Break هي اختيارك. ال itertools تحتوي الوحدة أيضًا على أدوات ، مثل Takehile.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top