nested dict get value for another value in the same dict

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
swbo
User
Beiträge: 2
Registriert: Mittwoch 9. September 2020, 20:58

Hallo,

ist es möglich einen Wert in einem dictionary auf einen anderen Wert im gleichen dictionary zu übernehmen?

Ggf. so?

Code: Alles auswählen

dict_xy = {
	"1": {
		"val_1": "ab",
		"val_2": "cd",
		"val_3": "ef",
	}
	"2": {
		"val_1": dict_xy.get(["1"]["val_1"]),
		"val_2": ...,
		"val_3": ...,
	}
}
Vielen Dank für Eure Hilfe.
Benutzeravatar
__blackjack__
User
Beiträge: 14053
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@swbo: Das geht offensichtlich nicht weil `dict_xy` erst definiert ist nachdem das Wörterbuchliteral ausgewertet wurde.

Mir ist nicht wirklich klar was Du willst, denn Du könntest da ja einfach "ab" hinschreiben. Falls der Wert nur einmal im Code stehen soll, definiert man sich einfach vorher eine Variable die man dann zweimal referenziert.

Code: Alles auswählen

    value = "ab"    
    mapping = {
        "1": {
            "val_1": value,
            "val_2": "cd",
            "val_3": "ef",
        },
        "2": {
            "val_1": value,
            "val_2": ...,
            "val_3": ...,
        },
    }
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Benutzeravatar
noisefloor
User
Beiträge: 4194
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

passender Thread bei SO, wo das thematisiert wird: Link. Ist zwar von 2010, gilt aber prinzipiell auch heute noch.
Die Frage ist aber IMHO eher, was der tiefere Sinn dahinter ist.

Gruß, noisefloor
Antworten