Créer efficacement des listes d'éléments répétés
En Python, créer des listes avec des éléments répétés est une tâche courante. Une méthode consiste à utiliser une compréhension de liste, par exemple [e pour le nombre dans la plage (n)]. Cependant, cette approche peut s'avérer inefficace, en particulier pour les grandes listes.
Approches alternatives
Une alternative consiste à utiliser la méthode de répétition intégrée de Python à partir du module itertools :
itertools.repeat(e, n)
Cela crée un objet qui génère des valeurs répétées de e à la demande. Pour obtenir une liste, convertissez-la simplement :
list(itertools.repeat(e, n))
Considérations relatives aux performances
Bien que la répétition puisse initialement apparaître plus rapidement que la méthode de multiplication de liste ([e] * n) , il crée un objet plutôt qu'une liste concrète. Pour créer la liste, elle doit être convertie.
[e] * n
Cette approche crée directement une liste remplie de n copies de e.
Tests de performances
Les tests de performances révèlent que pour les grandes listes, la multiplication des listes est considérablement plus rapide :
## repeat() timeit.timeit('itertools.repeat("foo", 1000000)', number=1000) 0.4600000247131665 ## [e] * n timeit.timeit('["foo"] * 1000000', number=1000) 0.19000002993464403
Conclusion
Pour créer de grandes listes d'éléments répétés, multiplier une liste d'éléments uniques ([e] * n) est le choix optimal en raison à ses performances supérieures.
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!