10 May
2012
10 May
'12
1:45 a.m.
Hallo,
(Schon klar: weil es die Syntax nicht zulässt. Aber warum wurde das so designed?)
Ich denke, das hängt damit zusammen, das die beiden Konstrukte eine ganz unterschiedliche Historie haben. Die for-Schleife ist aus der imperativen Welt. Die List-Comprehension kommt auf der funktionalen Welt. Sie lehnt sich an die Mengentheorieschreibweise an. s = { 2*x | x e N , x^2 > 3 } (e steht für das matematische Element Symbol) oder in Python s = [ 2*x for x in N if (x*x) > 3 ] Tatsächlich ist die List-Comprehension nur Syntactic Sugar für die zwei funktionalen Funktionen map und filter. Genauer lässt sich dies auf Wikipedia nachlesen. Gruß, Rainer