Piense en una función a la que estoy llamando por sus efectos secundarios, no por devolver valores (como imprimir en pantalla, actualizar GUI, imprimir en un archivo, etc.).
def fun_with_side_effects(x):
...side effects...
return y
Ahora, ¿es Pythonic usar listas por comprensión para llamar a esta función?
[fun_with_side_effects(x) for x in y if (...conditions...)]
Tenga en cuenta que no guardo la lista en ningún lado
O debería llamar a esta función así:
for x in y:
if (...conditions...):
fun_with_side_effects(x)
¿Cuál es mejor y por qué?
for ... in
se usa en ambos casos, ¡lo que lleva a preguntas como esta!