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!