Maison > développement back-end > Tutoriel Python > Comment puis-je utiliser efficacement la logique if/else dans les compréhensions de listes Python ?

Comment puis-je utiliser efficacement la logique if/else dans les compréhensions de listes Python ?

Patricia Arquette
Libérer: 2024-12-20 10:12:10
original
724 Les gens l'ont consulté

How Can I Effectively Use if/else Logic within Python List Comprehensions?

Expressions conditionnelles dans les compréhensions de liste pour if/else

En Python, il est possible de traduire des boucles for contenant des instructions if/else en liste compréhensions à l’aide d’expressions conditionnelles. Revisitons un scénario courant :

Boucle For avec if/else :

results = []
for x in xs:
    results.append(f(x) if x is not None else '')
Copier après la connexion

Ici, nous visons à ajouter le résultat de f(x) aux résultats si x n'est pas Aucun ; sinon, nous ajoutons une chaîne vide.

Tenter de convertir ceci en une compréhension de liste comme suit :

[f(x) for x in xs if x is not None else '']
Copier après la connexion

entraînera une SyntaxError. La syntaxe correcte est :

[f(x) if x is not None else '' for x in xs]
Copier après la connexion

En général, la syntaxe pour les compréhensions de liste avec if/else est :

[f(x) if condition else g(x) for x in sequence]
Copier après la connexion

Où f(x) et g(x) représentent les expressions à évaluer en fonction de la condition.

Les expressions conditionnelles, utilisées dans la syntaxe ci-dessus, ont le même objectif que l'opérateur ternaire ? : trouvé dans d'autres programmations langues. Par exemple :

value = 123
print(value, 'is', 'even' if value % 2 == 0 else 'odd')
Copier après la connexion

Cela exprime de manière concise que si la valeur est divisible par 2, le résultat doit être « pair » ; sinon, ça devrait être "étrange".

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal