Comment générer une nouvelle liste avec chaque nième élément d'une liste originale ?

Mary-Kate Olsen
Libérer: 2024-10-20 10:56:02
original
656 Les gens l'ont consulté

How to Generate a New List with Every Nth Item from an Original List?

Créer une liste avec chaque nième élément d'une liste originale

Dans l'analyse de données ou la programmation, il est souvent nécessaire de travailler avec un sous-ensemble de une liste. Une tâche courante consiste à créer une nouvelle liste contenant uniquement le nième élément de la liste d'origine. Par exemple, étant donné une liste d'entiers de 0 à 1000, comment pouvons-nous obtenir une liste qui inclut uniquement le premier et chaque dixième élément suivant ?

En utilisant une boucle for traditionnelle, nous pouvons accomplir cette tâche comme suit :

<code class="python">xs = list(range(1001))
new_list = []
for i, x in enumerate(xs):
    if i % 10 == 0:
        new_list.append(x)</code>
Copier après la connexion

Cependant, une approche plus concise et efficace est disponible en utilisant le découpage de Python :

<code class="python">>>> xs = list(range(1001))
>>> new_list = xs[0::10]</code>
Copier après la connexion

Dans cette solution, l'expression xs[0::10] crée une nouvelle liste qui inclut chaque dixième élément à partir de l'index 0. Le résultat est une liste contenant [0, 10, 20, 30, ..., 1000] sans avoir besoin de boucles ou de vérifications conditionnelles.

Cette méthode est nettement plus rapide que l'approche de la boucle for, s'avérant avantageuse lorsqu'il s'agit de grandes listes. Comme le démontre la comparaison temporelle suivante :

<code class="python">$ 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</code>
Copier après la connexion

Cette approche optimisée utilisant le découpage offre à la fois des avantages en termes de simplicité et de performances pour créer de nouvelles listes avec chaque Nième élément d'une liste originale.

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
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!