Dictionary Name

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.
Antworten
Bassposaune
User
Beiträge: 2
Registriert: Mittwoch 25. September 2019, 09:12

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
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
Benutzeravatar
sparrow
User
Beiträge: 4237
Registriert: Freitag 17. April 2009, 10:28

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).
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
Benutzeravatar
sparrow
User
Beiträge: 4237
Registriert: Freitag 17. April 2009, 10:28

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.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ah. Ich fand's zu verwirrend.
Bassposaune
User
Beiträge: 2
Registriert: Mittwoch 25. September 2019, 09:12

Hallo,

danke für die schnelle Antwort.

Gruß
Bassposaune
Antworten