[Python-de] Probleme mit listen

Mike Müller mmueller at python-academy.de
Di Okt 29 07:47:29 CET 2013


Am 25.10.13 19:32, schrieb Alexander Langer:
> Interessant, wie hast du das denn gemessen ?

`sys.getsizeof(obj)` gibt dir Größe des Objektes `obj`.
Bei einer Liste ist das nur die Liste selbst und nicht die darin
enthaltenen Objekte. Einfach die Anzahl der Änderungen der Größe
in der Schleife mitzählen.

> Mal angenommen, ich weiß im voraus ich brauche 10000 Elemente oder mehr,
> sollte ich dann lieber ein Array aus "array" nehmen ?

Probiere doch einfach aus wie groß der Unterschied wirklich ist.
Das Modul `timeit` bietet Zeitmessfunktionen. Einfach mehrere Varianten,
eine mit einfachem `append`, eine mit vorherigen Anlegen von 1000 Elementen
und eine mit `array`` ausprobieren. Dann den Zeitunterschied mit der
Gesamtlaufzeit deines Programms vergleichen, um zu sehen ob der Unterschied
für deinen Fall relevant ist. Quantifizieren hilft. ;)

Übrigens, wenn du mehrdimensionale Felder häufiger benötigst lohnt sich
ein Blick auf NumPy. Das ist schnell und bietet viel Komfort bei der Arbeit
mit Arrays.

Viele Grüße
Mike



Mehr Informationen über die Mailingliste python-de