Muss Dictionary immer initialisiert werden?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Stolzi
User
Beiträge: 155
Registriert: Mittwoch 18. August 2004, 15:44

Muss Dictionary immer initialisiert werden?

Beitragvon Stolzi » Mittwoch 15. September 2004, 07:52

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
Benutzeravatar
fs111
User
Beiträge: 170
Registriert: Samstag 15. November 2003, 11:42
Kontaktdaten:

Beitragvon fs111 » Mittwoch 15. September 2004, 09:25

Mach den ersten Zugrif folgendermaßen, dann wird es gleich mitinitialisiert:

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


fs111
Pydoc-Integration in vim - Feedback willkommen: http://www.vim.org/scripts/script.php?script_id=910
Stolzi
User
Beiträge: 155
Registriert: Mittwoch 18. August 2004, 15:44

Beitragvon Stolzi » Mittwoch 15. September 2004, 10:15

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...
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Beitragvon Milan » Mittwoch 15. September 2004, 10:20

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?
Stolzi
User
Beiträge: 155
Registriert: Mittwoch 18. August 2004, 15:44

Beitragvon Stolzi » Mittwoch 15. September 2004, 12:56

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.
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Mittwoch 15. September 2004, 13:06

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

Code: Alles auswählen

#!/usr/bin/env python
import this
Stolzi
User
Beiträge: 155
Registriert: Mittwoch 18. August 2004, 15:44

Beitragvon Stolzi » Mittwoch 15. September 2004, 13:14

interessant, danke

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], Majestic-12 [Bot]