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
DDDoriginal
2024-12-24 03:07:14643parcourir

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 '')

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!

Déclaration:
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