Listenbildungen
- Beispiel
k =( i for i in range( 3, 5 ) )
[ *k ]
[ 3, 4 ]
- Beispiel
[ x**2 for x in range( 1, 5 )]
[ 1, 4, 9, 16 ]
Eine Listenbildung ist für die Python -Implementation aufwendiger als ein Generatorausdruck und sollte daher nur dann eingesetzt werden, wenn wirklich eine Liste benötigt wird.
Übungsaufgaben
/ Übungsaufgabe »map«
Die folgende Anweisung gibt die ersten zehn Quadratzahlen unter Verwendung von ›map‹ aus.
- Quelltext
print( *map( lambda x: x*x, range( 10 )))
0 1 4 9 16 25 36 49 64 81
Verwenden Sie statt dessen eine Bildungsvorschrift oder Listenbildung (ohne ›map‹), um die ersten zehn Quadratzahlen auszugeben. (Die Ausgabe soll genauso lauten.)
/ Übungsaufgabe »filter«
Die folgende Anweisung gibt die Buchstaben aus dem Wort »Python« aus, die nicht im Wort »Monty« vorkommen.
- Quelltext
print( "".join( filter( lambda x: x not in "Monty", "Python" )))
Ph
Verwenden Sie statt dessen eine Bildungsvorschrift oder Listenbildung (ohne ›filter‹), um die Buchstaben aus dem Wort »Python« auszugeben, die nicht im Wort »Monty« vorkommen. (Die Ausgabe soll genauso lauten.)