Maison >développement back-end >Tutoriel Python >Comment utiliser la logique if/else dans les compréhensions de listes Python ?
Compréhension de liste avec if/else : syntaxe et utilisation
Lorsque vous travaillez avec des compréhensions de liste en Python, il est fréquent d'incorporer la logique if/else pour gérer les opérations conditionnelles. Cet article traite de la syntaxe correcte pour de tels scénarios.
Une tâche courante consiste à créer une liste basée sur une séquence source, avec la boucle for suivante contenant une construction if/else :
results = [] for x in xs: results.append(f(x) if x is not None else '')
Ce code ajoute '' à la liste des résultats si x est Aucun, et calcule sinon f(x). Le résultat souhaité peut également être obtenu en utilisant une compréhension de liste, mais avec un ajustement nécessaire dans la syntaxe :
results = [f(x) if x is not None else '' for x in xs]
La principale différence réside dans l'ordre des clauses if et else dans la compréhension de liste. La syntaxe correcte nécessite de placer la clause if avant la partie for, suivie de la clause else.
En général, la syntaxe pour une compréhension de liste avec une condition if/else est :
[f(x) if condition else g(x) for x in sequence]
Pour les compréhensions de liste impliquant uniquement des conditions if pour filtrer les éléments de la séquence source, la syntaxe est :
[f(x) for x in sequence if condition]
Notez que les expressions conditionnelles, utilisées dans le La syntaxe if/else des compréhensions de liste est distincte de la construction if utilisée pour le filtrage. Les expressions conditionnelles permettent de choisir entre deux expressions basées sur une condition, similaire à l'opérateur ternaire ? : trouvé dans d'autres langages. Par exemple :
value = 123 print(value, 'is', 'even' if value % 2 == 0 else 'odd')
Cet exemple affiche si la valeur est paire ou impaire à l'aide d'une expression conditionnelle.
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!