Maison >développement back-end >Tutoriel Python >Comment extraire chaque nième élément des listes à l'aide du découpage Python

Comment extraire chaque nième élément des listes à l'aide du découpage Python

Linda Hamilton
Linda Hamiltonoriginal
2024-10-20 11:10:02796parcourir

How to Extract Every Nth Element from Lists Using Python Slicing

Extraction du nième élément à partir de listes à l'aide de Python

La tâche consiste à extraire chaque Nième élément suivant d'une liste donnée. Par exemple, étant donné une liste d'entiers [0, 1, 2, 3, ..., 997, 998, 999], l'objectif est d'obtenir une nouvelle liste contenant le premier et chaque dixième élément suivant, ce qui donne [0, 10, 20, 30, ..., 990].

Bien qu'une boucle for avec vérification de module soit une approche simple, une solution plus concise et efficace existe en utilisant l'opérateur de découpage de Python.

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

Cette ligne accomplit la tâche en une seule ligne de code. La syntaxe xs[0::10] est une expression de tranche où :

  • 0 spécifie l'index de départ (inclus).
  • ::10 est une étape, qui indique de prendre tous les 10 éléments.

La new_list résultante contient les éléments souhaités, [0, 10, 20, 30, ..., 990].

Comparaison des performances

L'analyse comparative révèle que cette approche de découpage est nettement plus rapide que la solution de boucle for :

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

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

Cela démontre l'efficacité et la simplicité de l'approche de découpage pour extraire chaque Nième élément d'une liste dans Python.

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