Création de listes de répétitions d'éléments uniques
Pour générer une série de listes contenant le même élément répété n fois, il existe plusieurs approches.
Une méthode courante consiste à utiliser la compréhension de liste :
[e for number in range(n)]
Cependant, si vous recherchez une approche alternative, pensez à utiliser l'opérateur de multiplication :
[e] * n
Bien que cette méthode duplique effectivement l'élément e n fois, notez que si e est une liste vide, vous obtiendrez une liste avec n références à la même liste , plutôt que n listes vides séparées.
Considérations sur les performances
Lors de la comparaison de l'efficacité temporelle de différentes méthodes, on suppose souvent que la répétition est supérieure à [e] * n. Cependant, il est important de reconnaître que la répétition ne crée pas immédiatement une liste. Au lieu de cela, il renvoie un objet qui permet la création d'une liste lorsque cela est nécessaire.
Pour une comparaison des performances plus précise :
timeit.timeit('list(itertools.repeat(0, 10))', 'import itertools', number = 1000000)
Cette modification révèle que [e] * n est le solution plus efficace pour générer des listes réelles. Cependant, si des éléments générés paresseusement sont souhaités, la répétition reste une option viable.
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!