En Python, les compréhensions de liste offrent un moyen concis de créer de nouvelles listes basées sur des itérables existants tout en appliquant certaines conditions. Lorsque vous tentez de comparer deux itérables et d'imprimer uniquement les éléments qui existent dans les deux listes, vous pouvez rencontrer l'erreur suivante :
print([ y if y not in b for y in a])
Le code ci-dessus est destiné à parcourir le premier itérable (a) et à imprimer les éléments. introuvable dans le deuxième itérable (b). Cependant, l'erreur "syntaxe invalide" est générée en raison du placement incorrect de l'instruction if.
La syntaxe correcte pour une compréhension de liste avec une instruction if est d'avoir la clause for avant la condition if. Par conséquent, le code correct pour obtenir le résultat souhaité est :
[y for y in a if y not in b]
Alternativement, si l'objectif est d'imprimer une valeur différente pour les éléments introuvables dans le deuxième itérable, l'opérateur ternaire if-else peut être utilisé :
[y if y not in b else other_value for y in a]
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!