En Python, la création de plusieurs listes contenant les mêmes éléments répétés peut être réalisée de différentes manières. Cette discussion explore une méthode qui contourne les compréhensions de liste.
Solution :
Python fournit l'opérateur * pour répliquer les éléments. Pour créer une liste remplie de n occurrences de l'élément e, utilisez simplement l'expression [e] * n.
Exemple :
e = 5 list_of_e = [e] * 10 # [5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
Remarque :
Si e est une liste vide, cette méthode créera une liste avec n références à la même liste vide. Fournir des listes vides indépendantes nécessite une approche différente.
Évaluation des performances :
Bien que itertools.repeat() puisse initialement apparaître plus rapidement, il nécessite une conversion en liste pour effectuer des comparaisons. . L'opérateur * renvoie directement une liste, ce qui entraîne de meilleures performances :
import timeit n = 1000000 timeit.timeit('[0] * 10', number=n) # Faster timeit.timeit('list(itertools.repeat(0, 10))', number=n) # Slower
Conclusion :
Pour créer des listes d'éléments répétés sans compréhension de liste, exploitez l'opérateur * , qui offre une solution concise et efficace. Lorsque vous avez besoin d'une génération paresseuse d'éléments, pensez à itertools.repeat().
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!