Die Erzeugung der Liste in eine Liste Verständnis umgewandelt werden, aber die print-Anweisungen können nicht in einer Zeile erfolgen:
x = 10
l1 = [a for a in range(0, x) if a % 2 == 0]
Sie geben die Liste, wenn Sie auch die print
Anweisungen möchten, ist mehr Arbeit erforderlich, z definiert eine Funktion, während die Liste wird gebaut genannt wird:
def foo(a):
print('Test1')
print('Test2')
return a
l2 = [a for a in range(0, x) if foo(a) % 2 == 0]
Diese letztere Option ist jedoch „ein Code Geruch“, eine Liste zu erzeugen, während auf dem Nebeneffekt einer Funktion für die Ausgabe unter Berufung keine gute Praxis ist (sehr fehleranfällig in einem sogar mäßig großen Programm). Letzteres würde ich nicht empfehlen.
Die Schleife zwei Aufgaben hat. Ich würde es in zwei Teile teilen. –