Maison >développement back-end >Tutoriel Python >Comment déterminer si un générateur est vide à l'initialisation
Détermination du vide d'un générateur à l'initiation
Lorsque vous travaillez avec des générateurs, déterminer leur vide à la création peut être essentiel pour un déroulement efficace du programme. Bien que les générateurs n'aient pas de méthode isEmpty explicite, il existe plusieurs approches pour résoudre ce problème.
Une méthode consiste à exploiter la fonction peek(), qui renvoie le premier élément du générateur ou None s'il est vide. Cette fonction peut être implémentée comme suit :
def peek(iterable): try: first = next(iterable) except StopIteration: return None return first, itertools.chain([first], iterable)
Pour utiliser cette fonction, vous pouvez procéder comme suit :
res = peek(mysequence) if res is None: # sequence is empty. Do stuff. else: first, mysequence = res # Do something with first, maybe? # Then iterate over the sequence: for element in mysequence: # etc.
Dans ce scénario, si le résultat renvoyé est Aucun, cela indique un générateur vide. Inversement, si un premier élément valide et ma séquence sont renvoyés, vous pouvez procéder à une itération régulière.
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!