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

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

DDD
Libérer: 2024-12-24 03:07:14
original
686 Les gens l'ont consulté

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

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 '')
Copier après la connexion

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]
Copier après la connexion

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]
Copier après la connexion

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]
Copier après la connexion

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')
Copier après la connexion

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal