Maison >développement back-end >Tutoriel Python >Comment trouver le premier élément correspondant dans un itérable en Python ?
Pour récupérer l'élément initial d'un itérable qui répond à une condition spécifique, vous pouvez adopter l'approche suivante :
Pour ceux qui ont besoin de lancer Cas pour StopIteration (si aucune correspondance n'est trouvée) :
next(x for x in the_iterable if x > 3)
Pour les scénarios dans lesquels vous souhaitez renvoyer une valeur par défaut (par exemple Aucune) :
next((x for x in the_iterable if x > 3), default_value)
Vous pouvez utiliser la méthode .next() de l'itérateur, qui se déclenchera immédiatement si l'itérateur se termine immédiatement (c'est-à-dire qu'aucun élément de l'itérable ne satisfait à la condition) Arrêter l'itération. Si cette situation ne vous intéresse pas (par exemple, vous savez qu'il y a certainement au moins un élément qui remplit la condition), vous pouvez utiliser directement .next().
Si vous vous en souciez vraiment, vous pouvez utiliser itertools, une boucle for...: break ou genexp pour implémenter votre fonction. Cependant, ces alternatives n'apportent pas beaucoup de valeur ajoutée, il est donc recommandé d'utiliser la version plus simple que vous avez proposée initialement :
def first(the_iterable, condition = lambda x: True): for i in the_iterable: if condition(i): return i
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!