Seite 1 von 1

Performance von Dctionaries

Verfasst: Sonntag 7. Mai 2017, 06:33
von CoderGirl
Hallo

ich habe eine Vielzahl von Daten, die ich erfasse und
dann idealerweise nicht über eine Liste speichern mag,
da ich da m.W. nur über den Index dann an den Wert komme,
sondern ich dachte an ein Dictionary, so dass ich die Wertzuweisung
über den Key machen kann und die Daten auch so wieder bekomme.
Ich fänd das lesbarer.

Aber
a) ist das performant? auch wenn ich das dict dann an eine Methode übergebe?
b) oder gibt es andere Ideen dazu?

Danke

Re: Performance von Dctionaries

Verfasst: Sonntag 7. Mai 2017, 08:19
von kbr
@CoderGirl: der Zugriff auf die Inhalte eines Dictionary geht in Python sehr schnell - auch bei großen Datenmengen. Bei der Parameterübergabe an Funktionen/Methoden werden stets nur Referenzen verwendet. Daher kannst Du auch umfangreiche Dictionaries ohne Performance-Nachteile als Argumente nutzen.

Re: Performance von Dctionaries

Verfasst: Sonntag 7. Mai 2017, 08:20
von CoderGirl
Hi

danke Dir.
Stimmt, an den call by ref. habe ich eben nicht gedacht.

Cool, danke mal wieder für die passende Antwort ohne in Belehrungen zu verfallen ;-)

Re: Performance von Dctionaries

Verfasst: Sonntag 7. Mai 2017, 08:32
von nezzcarth
Na ja, wenn du findest, dass es lesbarer ist, nimm doch ruhig ein Dictionary. Ich finde, dass man in solchen Situationen die sinnvolle Formulierung der Lösung höher werten sollte, als die Performance. Letztere ist im Grunde ja nur ein Implementierungsdetail. Falls sich herausstellt, dass das in deinem Anwendungsfall wirklich extrem langsam ist, kann man schauen, ob man die zugrunde liegende Datenstruktur durch eine austauscht, die für das konkrete Problem besser passt und für diese die üblichen Methoden eines Dictionaries implementiert.