Seite 1 von 1
Dictionary Name
Verfasst: Mittwoch 25. September 2019, 09:36
von Bassposaune
Hallo,
ich komme von Perl und schau mir gerade Python an. Wie kann ich den Namen eines Dictionary aus einer Variablen erzeugen und dann im Skript unter diesem Namen auch nutzen?
Bsp:
------
liste = ['Bruckner', 'Beethoven', 'Schubert']
for i in liste:
print ("==> i:", i)
i= {'Schluessel1': 123, 'Schluessel2': 456}
print (Bruckner)
Danke für die Hilfe.
Gruß
Bassposaune
Re: Dictionary Name
Verfasst: Mittwoch 25. September 2019, 09:52
von __deets__
Ich verstehe nicht, was du da erreichen willst. Was hat das Woerterbuch mit den Namen in der Liste zu tun?
Generell erzeugt man keine Variablen. Man benutzt Datenstrukturen.
Re: Dictionary Name
Verfasst: Mittwoch 25. September 2019, 09:56
von sparrow
Du möchtest ein dictionary an einen variablen Namen binden?
Das ist technisch möglich, allerdings in Python absolut unüblich und auch nicht sinnvoll.
In diesem Fall würde ich die Namen der Schlüssel in einem dictionary namens "composers" verwenden.
Code solltest du hier in Code-Tags setzen (</> Button im vollständigen Editor).
Re: Dictionary Name
Verfasst: Mittwoch 25. September 2019, 09:58
von __deets__
Wenn du einfach nur einem Namen einen Wert zuordnen willst, dann ist
Code: Alles auswählen
d = {'Bruckner': 123, 'Beethoven': 456, 'Schubert': 780}
for key, value in d.items():
print(key, value)
dein Freund.
Re: Dictionary Name
Verfasst: Mittwoch 25. September 2019, 10:07
von sparrow
Wenn ich den Pseudo-Code des Threadstarters richtig verstehe, sollte das seinen Erwartungen entsprechen:
Code: Alles auswählen
names = ['Bruckner', 'Beethoven', 'Schubert']
composers = {}
for name in names:
composers[name] = {'Schluessel1': 123, 'Schluessel2': 456}
print(composers)
Je nach Anwendungsfall mit einer passenderen Datenstruktur.
Re: Dictionary Name
Verfasst: Mittwoch 25. September 2019, 10:18
von __deets__
Ah. Ich fand's zu verwirrend.
Re: Dictionary Name
Verfasst: Mittwoch 25. September 2019, 10:18
von Bassposaune
Hallo,
danke für die schnelle Antwort.
Gruß
Bassposaune