Correction de la syntaxe pour la compréhension de liste avec des instructions conditionnelles
Lorsque vous essayez d'utiliser une compréhension de liste pour comparer deux itérables et afficher les éléments qui apparaissent dans les deux cas, vous pouvez rencontrer une erreur de syntaxe si l'instruction conditionnelle n'est pas placée correctement.
Dans l'extrait de code fourni, l'erreur se produit car la condition if (y pas dans b) est écrite avant l'instruction for. La syntaxe correcte pour une compréhension de liste avec une condition if est de placer l'instruction conditionnelle après l'instruction for, comme indiqué ci-dessous :
<code class="python">[y for y in a if y not in b]</code>
Ce code révisé parcourra correctement chaque élément y dans l'itérable a et n'inclure que les éléments qui n'existent pas dans l'itérable b. En conséquence, il affichera ['r'] comme prévu.
Vous pouvez également utiliser un opérateur ternaire if-else pour obtenir le résultat souhaité, comme indiqué ci-dessous :
<code class="python">[y if y not in b else other_value for y in a]</code>
Dans ce cas, l'autre_valeur sera imprimée pour tout y existant dans b.
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!