Maison > développement back-end > Tutoriel Python > Comment parcourir efficacement une liste circulaire en Python ?

Comment parcourir efficacement une liste circulaire en Python ?

Barbara Streisand
Libérer: 2024-10-25 20:46:29
original
504 Les gens l'ont consulté

How to Iterate Over a Circular List in Python Efficiently?

Itération de liste circulaire en Python

Vous recherchez une méthode efficace pour parcourir une liste circulaire en Python, en commençant chaque itération par le dernier élément visité. Ce problème survient lorsque vous travaillez avec des cas d'utilisation tels que les pools de connexions, où vous devez localiser une connexion disponible dans une boucle.

Solution utilisant itertools.cycle

La solution idéale en Python consiste à utiliser la fonction itertools.cycle, qui sert précisément à prendre en charge l'itération de liste circulaire. Voici comment :

<code class="python">from itertools import cycle

lst = ['a', 'b', 'c']

pool = cycle(lst)

for item in pool:
    print(item)</code>
Copier après la connexion

Le code ci-dessus imprimera les éléments dans une boucle sans fin :

"a b c a b c..."

Pour avancer manuellement l'itérateur et récupérer les valeurs un par un, utilisez simplement next(pool):

<code class="python">next(pool)  # returns 'a'
next(pool)  # returns 'b'</code>
Copier après la connexion

Cela fournit un moyen simple et efficace de parcourir des listes circulaires en 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!

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