Maison  >  Article  >  développement back-end  >  Comment placer correctement une instruction if dans une compréhension de liste ?

Comment placer correctement une instruction if dans une compréhension de liste ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-22 13:33:02774parcourir

How to Correctly Place an if Statement in a List Comprehension?

Erreur de syntaxe dans la compréhension de la liste avec l'instruction if

Dans la compréhension de la liste fournie :

<code class="python">print([ y if y not in b for y in a])</code>

Vous rencontrez un erreur de syntaxe signalée par le symbole "^". L'erreur provient d'un placement incorrect de l'instruction if dans la compréhension.

La syntaxe correcte pour une compréhension de liste avec une condition if est :

<code class="python">[expression for item in iterable if condition]</code>

Dans votre cas, la condition devrait être placé après l'instruction for :

<code class="python">print([y for y in a if y not in b])</code>

Cette compréhension révisée parcourra les éléments de a, évaluera si chaque élément n'est pas contenu dans b et inclura uniquement les éléments qui remplissent la condition dans la liste résultante . La sortie de ce code sera ['r'], comme vous le souhaitez.

De plus, vous pouvez utiliser un opérateur ternaire if-else pour fournir une valeur alternative pour les éléments qui ne remplissent pas la condition :

<code class="python">print([y if y not in b else None for y in a])</code>

Cette compréhension renverra une liste contenant 'r' et None, puisque 'q' est contenu à la fois dans a et 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!

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