Compréhension de liste sans parenthèses : expressions génératrices
En Python, il est possible de créer une liste d'éléments à l'aide de compréhensions de liste, qui ont un syntaxe similaire aux compréhensions définies mais avec des crochets. Cependant, il est également possible d'obtenir le même résultat sans utiliser de parenthèses, conduisant à une construction qui ressemble à une expression génératrice.
Considérons l'exemple suivant :
''.join([str(_) for _ in range(10)])
Ce code crée une liste de chaînes représentant les nombres de 0 à 9 et les joint en une seule chaîne à l'aide de la méthode join. Fait intéressant, le code suivant produit le même résultat sans utiliser de crochets :
''.join(str(_) for _ in range(10))
La raison de ce comportement est que le code sans crochets représente une expression génératrice, qui est similaire à une compréhension de liste mais renvoie un itérable objet au lieu d’une liste. Les expressions génératrices sont plus efficaces en mémoire et plus rapides que les compréhensions de liste, car elles ne créent pas la liste entière en mémoire.
Cependant, dans le cas de la méthode join, l'utilisation d'une compréhension de liste est plus efficace car join opère plus efficacement sur les listes réelles. Par conséquent, il est généralement recommandé d'utiliser des compréhensions de liste avec jointure pour de meilleures performances.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!