[Python-de] flache Liste
Harald Armin Massa
haraldarminmassa at gmail.com
Mon Jul 4 13:13:51 CEST 2005
Henning,
Eigentlich verstehe ich auch den Sinn der Generatoren nicht.
> Sind sie schneller/effektiver als die anderen Konstrukte?
>
Eine List-Comprehension erzeugt eine Liste im Speicher. Für jedes Element in
der Liste wird Speicher angefordert.
Ein Generator lebt "von der Hand in den Mund", es wird also immer nur das
Objekt _generiert_, daß der Consumer gerade braucht.
also
sum([listkomprehension])
listkomprehension wird vollständig berechnet und im Speicher alloziert, dann
wird sum darauf ausgeführt
sum(generatorexpression)
es wird das erste Ergebnis erzeugt, an sum gegeben; sum addiert auf und
fragt: "mehr?"
somit: generator-Expressions verbraten im allgemeinen weniger Speicher
Gruß
HArald
--
GHUM Harald Massa
persuasion python postgresql
Harald Armin Massa
Reinsburgstraße 202b
70197 Stuttgart
0173/9409607
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: http://starship.python.net/pipermail/python-de/attachments/20050704/adf4a6d7/attachment.htm