Maison > développement back-end > Tutoriel Python > Comment puis-je créer efficacement des listes avec des éléments répétés en Python sans compréhension de liste ?

Comment puis-je créer efficacement des listes avec des éléments répétés en Python sans compréhension de liste ?

Linda Hamilton
Libérer: 2024-12-19 14:21:13
original
1000 Les gens l'ont consulté

How Can I Efficiently Create Lists with Repeated Elements in Python Without List Comprehensions?

Génération de listes avec des éléments répétés

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]
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal