Seite 1 von 1

Muss Dictionary immer initialisiert werden?

Verfasst: Mittwoch 15. September 2004, 07:52
von Stolzi
Hallo,
wenn ich einfach
t["h"]="sowieso"
schreibe, dann gibts einen Fehler: Name t is not defined.
t={}
t["h"]="sowieso"
funktioniert, ist aber lästig.
Geht das anders?
Danke
Stolzi

Verfasst: Mittwoch 15. September 2004, 09:25
von fs111
Mach den ersten Zugrif folgendermaßen, dann wird es gleich mitinitialisiert:

t = {"foo":"bar"}
t['quux'] = 'bizbaz'


fs111

Verfasst: Mittwoch 15. September 2004, 10:15
von Stolzi
Ja an diese Möglichkeit habe ich auch gedacht, finde ich aber auch nicht sehr viel weniger umständlich wenn ich das Dic zB nur in einer Schleife benötige.
Ob ich da dann prüfe obs der erste Durchgang ist und wenn ja die {} verwende und wenn nein die [], da ist es wieder einfacher ganz am Anfang mit var={} zu initialisieren...

Verfasst: Mittwoch 15. September 2004, 10:20
von Milan
Stolzi hat geschrieben:Ja an diese Möglichkeit habe ich auch gedacht, finde ich aber auch nicht sehr viel weniger umständlich wenn ich das Dic zB nur in einer Schleife benötige.
Ob ich da dann prüfe obs der erste Durchgang ist und wenn ja die {} verwende und wenn nein die [], da ist es wieder einfacher ganz am Anfang mit var={} zu initialisieren...
Du hast dir eben die Antwort selbst gegeben... wie soll z.B. Python bei t[0]=5 wissen, ob du eine Liste, ein Dictionary oder einen anderen Datentyp meinst?

Verfasst: Mittwoch 15. September 2004, 12:56
von Stolzi
Jojo da hast schon recht.
Schade eigentlich dass das nicht alles eines ist wie in PHP die Arrays halt. Da ist dann eine Initialisierung nicht nötig... Aber wird schon seine Gründe haben.

Verfasst: Mittwoch 15. September 2004, 13:06
von Dookie
Hi Stolzi,

Gründe hat es auch, Listen sind für den Zugriff über einen numerischen Index optimiert, Dictionaries für den assoziativen Zugriff wie die Arrays in php. Die darunterliegenden Datenstrukturen sind eben grundverschieden und haben in ihrem jeweiligen Bereich Vorteile in der Bearbeitung.

Vieles erschließt sich bei Python erst mit der Zeit, Tuples fand ich z.B. am Anfang unnötig, heute verwende ich sie gerne wo es sich um Daten handelt, die nicht verändert werden dürfen.


Gruß

Dookie

Verfasst: Mittwoch 15. September 2004, 13:14
von Stolzi
interessant, danke