J'ai entendu dire que la compréhension des listes peut parfois être lente, mais je ne sais pas pourquoi? Je suis nouveau sur Python (venant d'un arrière-plan C#), et j'aimerais savoir quand utiliser une compréhension de liste par rapport à une boucle for. Des idées, des suggestions, des conseils ou des exemples? Merci pour votre aide.Quels sont les avantages et les inconvénients de l'utilisation d'une compréhension de liste dans Python 2.54-6?
1
A
Répondre
2
Utilisez une compréhension de liste (LC) quand c'est approprié.
Par exemple, si vous passez une ol » itérables à une fonction, une expression du générateur (genexpr) est souvent plus approprié, et un LC est inutile:
"".join([str(n) for n in xrange(10)])
# becomes
"".join(str(n) for n in xrange(10))
Ou, si vous ne le faites pas besoin d'une liste complète, une boucle for-avec une déclaration de rupture serait votre choix. Le module itertools dispose également d'outils, tels que le takewhile.
Merci pour la réponse Roger! Bon exemple. – mkelley33