Maison  >  Article  >  développement back-end  >  Comment pouvez-vous réaliser une itération continue à travers une liste en Python, créant ainsi une boucle circulaire ?

Comment pouvez-vous réaliser une itération continue à travers une liste en Python, créant ainsi une boucle circulaire ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-27 04:37:03874parcourir

How can you achieve continuous iteration through a list in Python, effectively creating a circular loop?

Itérer circulairement à travers des listes en Python

Lors d'une itération sur des listes, il peut être nécessaire de faire une boucle continue à partir du dernier élément visité. Ceci est particulièrement utile dans des scénarios tels que les pools de connexions, où un itérateur vérifie les connexions disponibles et les cycles jusqu'à ce qu'il en trouve une.

En Python, la fonction itertools.cycle fournit une approche pratique pour créer des itérateurs circulaires. Il prend une liste comme argument et renvoie un itérateur qui parcourt sans fin la liste, se répétant depuis le début une fois la fin atteinte.

Pour utiliser itertools.cycle, vous pouvez simplement enveloppez la liste sur laquelle vous souhaitez parcourir avec la fonction cycle :

from itertools import cycle

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

pool = cycle(lst)

Une fois l'itérateur créé, vous pouvez commencer à l'itérer :

for item in pool:
    print(item)

Cela imprimera les éléments dans la liste à plusieurs reprises, pour toujours.

Si vous devez faire avancer l'itérateur manuellement et extraire les valeurs une par une, vous pouvez utiliser la fonction next(pool) :

next(pool)
'a'
next(pool)
'b'

Cela peut être particulièrement utile dans les scénarios où vous devez vérifier la disponibilité des connexions avant de les restituer.

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