Maison  >  Article  >  développement back-end  >  Comment utilisez-vous les instructions if-else dans les compréhensions de listes Python ?

Comment utilisez-vous les instructions if-else dans les compréhensions de listes Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-05 09:35:02481parcourir

How do you use if-else statements within Python list comprehensions?

If-Else dans les compréhensions de listes

En Python, les compréhensions de listes fournissent un moyen compact de créer de nouvelles listes en itérant sur une liste existante et en appliquant une transformation à chaque élément . Cependant, écrire une instruction if-else dans la compréhension d'une liste peut être délicat.

Considérons l'exemple suivant :

<code class="python">l = [22, 13, 45, 50, 98, 69, 43, 44, 1]</code>

Supposons que vous souhaitiez créer une nouvelle liste en ajoutant 1 à des nombres supérieurs. supérieur ou égal à 45, et 5 aux nombres inférieurs à 45.

Tenter d'écrire ceci sous forme de compréhension de liste avec une instruction if-else comme celle-ci :

<code class="python">[x+1 for x in l if x >= 45 else x+5]</code>

entraînera un erreur de syntaxe.

Pour effectuer une opération if-else dans une compréhension de liste, vous pouvez utiliser l'opérateur conditionnel ternaire :

<code class="python">[x+1 if x >= 45 else x+5 for x in l]</code>

Cette expression est évaluée à :

<code class="python">[27, 18, 46, 51, 99, 70, 48, 49, 6]</code>

Dans cet exemple, 'x 1' est exécuté pour chaque x supérieur ou égal à 45, et 'x 5' est exécuté pour chaque x inférieur à 45.

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