Utiliser la compréhension de liste avec des instructions if/else imbriquées
Les compréhensions de liste offrent un moyen pratique de transformer et de parcourir des séquences, mais que se passe-t-il si vous besoin d'implémenter une logique conditionnelle ? C'est là que la compréhension de la syntaxe des instructions conditionnelles dans les compréhensions de listes devient cruciale.
Un scénario courant est la nécessité de renvoyer une valeur spécifique selon qu'une condition est vraie ou fausse. Considérons le code suivant :
results = [] for x in xs: results.append(f(x) if x is not None else '')
Ce code parcourt une liste xs et ajoute le résultat de l'appel de la fonction f à la liste des résultats lorsque x n'est pas Aucun. Sinon, il ajoute une chaîne vide à la liste des résultats.
Pour obtenir la même fonctionnalité en utilisant une compréhension de liste, vous pouvez modifier la syntaxe comme suit :
results = [f(x) if x is not None else '' for x in xs]
Voici comment fonctionne ce code :
Il est important de noter que les expressions conditionnelles peuvent être utilisées dans divers contextes au-delà de la compréhension de liste pour choisir entre deux expressions en fonction d'une condition.
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!