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!