Pensez à une fonction que j'appelle pour ses effets secondaires, pas pour ses valeurs de retour (comme l'impression à l'écran, la mise à jour de l'interface graphique, l'impression dans un fichier, etc.).
def fun_with_side_effects(x):
...side effects...
return y
Maintenant, est-ce Pythonic d'utiliser les compréhensions de liste pour appeler cette fonction:
[fun_with_side_effects(x) for x in y if (...conditions...)]
Notez que je ne sauvegarde la liste nulle part
Ou devrais-je appeler cette func comme ceci:
for x in y:
if (...conditions...):
fun_with_side_effects(x)
Quel est le meilleur et pourquoi?
for ... in
est utilisé dans les deux cas - ce qui conduit à des questions comme celle-ci!