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

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

DDD
DDDoriginal
2024-10-20 12:11:02789parcourir

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

Extraire un élément sur n d'une liste

Une tâche courante en programmation consiste à créer une nouvelle liste contenant uniquement des éléments spécifiques d'une liste existante . Un de ces scénarios consiste à sélectionner chaque Nième élément de la séquence d'origine.

Considérons une liste entière de 0 à 1000 :

[0, 1, 2, 3, ..., 997, 998, 999]

L'objectif est d'obtenir une nouvelle liste qui comprend le premier et chaque 10ème élément suivant :

[0, 10, 20, 30, ..., 990]

Bien qu'une boucle for avec vérification du module puisse accomplir cette tâche, il existe une approche plus concise et efficace. Python fournit une méthode de découpage pratique qui permet une sélection simple des éléments.

L'extrait de code sur une seule ligne suivant exploite le mécanisme de découpage de Python pour extraire un élément sur 10 :

<code class="python">xs[0::10]</code>

Ici, xs représente le liste originale. La syntaxe de tranche [start:stop:step] demande à Python d'extraire les éléments du début de l'index à l'arrêt de l'index, en incrémentant pas à pas à chaque itération. Dans ce cas, nous commençons à l'index 0 et incrémentons de 10, ce qui donne :

[0, 10, 20, 30, ..., 990]

Par rapport à une implémentation de boucle for traditionnelle, cette approche de découpage est nettement plus rapide. L'analyse comparative à l'aide du module timeit révèle que le découpage est environ 100 fois plus rapide que l'itération et l'application d'une vérification de module.

En Python, le découpage fournit un mécanisme puissant et concis pour extraire et manipuler les éléments de la liste. Il permet d'apporter des solutions efficaces et élégantes aux tâches de programmation courantes, telles que la sélection de chaque Nième élément d'une séquence.

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