2017-02-17 1 views
0

ich so etwas wie dies tun will:Wie ein dict Wert in einer anderen Schlüssel des gleichen dict setzen

my_dict = {"key": "value", "key1": "value1", "key2": my_dict["key"]} 

und das Ergebnis sein:

{"key": "value", "key1": "value1", "key2": "value"} 

Derzeit nicht aufgelösten Verweis, wenn ich immer deklariere das dict() vorher. Sonst bekomme ich einen Schlüsselfehler.

+0

'my_dict = {" Schlüssel ":" Wert "," Schlüssel1 ":" Wert1 "}; my_dict ["key2"] = my_dict ["key"] 'bam – Ryan

+0

Nun, dein Diktat ist nicht initialisiert, du kannst nicht auf etwas verweisen, das noch nicht existiert. Sie können 'lambda' verwenden, um Ihre Schlüssel dynamisch aufzurufen, wenn Sie ein selbstverweisendes Wörterbuch erstellen möchten. – zwer

+0

@Nicolas, das Problem ist, dass Assignment-Anweisungen von rechts nach links ausgewertet werden, also ist 'my_dict' noch nicht definiert, obwohl Sie es in dieser Zeile definieren. – lmiguelvargasf

Antwort

1

Setzen Sie den Wert von key2 etwas unecht (sagen wir, None), initialisieren my_dict richtig, und dann den Wert von my_dict['key2'] zu my_dict["key"] ändern.

Verwandte Themen