ما هي ميزة وعيوب استخدام فهم القائمة في بيثون 2.54-6؟
-
21-09-2019 - |
سؤال
لقد سمعت أن هذه القائمة قد تكون بطيئة في بعض الأحيان ، لكنني لست متأكدًا من السبب؟ أنا جديد على 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.
لا تنتمي إلى StackOverflow