Maison  >  Article  >  développement back-end  >  Comment extraire efficacement chaque nième élément d’une liste en Python ?

Comment extraire efficacement chaque nième élément d’une liste en Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-20 11:17:30125parcourir

How to Efficiently Extract Every Nth Element from a List in Python?

Extraire chaque Nième élément d'une liste en Python

Face à la tâche d'extraire chaque Nième élément d'une liste, comme la sélection chaque 10ème élément d'une liste d'entiers allant de 0 à 1000, une approche simple peut impliquer d'utiliser une boucle for pour parcourir la liste et vérifier le module de l'index de chaque élément par N. Cependant, il existe une méthode plus efficace et plus élégante qui peut obtenir le même résultat avec une seule ligne de code.

En utilisant la syntaxe de découpage de Python, nous pouvons extraire chaque Nième élément en spécifiant une taille de pas de N. Dans l'exemple fourni, nous pouvons obtenir la liste souhaitée en utilisant le code suivant :

<code class="python">xs = list(range(165))
result = xs[0::10]</code>

Cette méthode est considérablement plus rapide que la vérification itérative de l'index de chaque élément, comme le démontre la comparaison temporelle suivante :

$ python -m timeit -s "xs = list(range(1000))" "[x for i, x in enumerate(xs) if i % 10 == 0]"
500 loops, best of 5: 476 usec per loop

$ python -m timeit -s "xs = list(range(1000))" "xs[0::10]"
100000 loops, best of 5: 3.32 usec per loop

En utilisant la syntaxe de découpage, nous pouvons efficacement extraire chaque Nième élément d'une liste en Python, ce qui est particulièrement bénéfique pour les grandes listes où la vitesse est un problème.

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!

Déclaration:
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