Sé cómo usar tanto para bucles como para declaraciones en líneas separadas, como:
>>> a = [2,3,4,5,6,7,8,9,0]
... xyz = [0,12,4,6,242,7,9]
... for x in xyz:
... if x in a:
... print(x)
0,4,6,7,9
Y sé que puedo usar una comprensión de lista para combinarlos cuando las declaraciones son simples, como:
print([x for x in xyz if x in a])
Pero lo que no puedo encontrar es un buen ejemplo en cualquier lugar (para copiar y aprender) que demuestre un conjunto complejo de comandos (no solo "imprimir x") que ocurren después de una combinación de un bucle for y algunas declaraciones if. Algo que esperaría se ve así:
for x in xyz if x not in a:
print(x...)
¿No es así como se supone que funciona Python?
x in a
es lento si a
es una lista.
for
ciclo explícito yif
declaración.