43 Stimmen

syntax für die erstellung eines wörterbuchs in ein anderes wörterbuch in python

Mögliches Duplikat:
Syntax zum Einfügen einer Liste in eine andere Liste in Python

Wie könnte die Syntax für die Erstellung eines Wörterbuchs in ein anderes Wörterbuch in Python sein

106voto

kindall Punkte 167554

Sie können ein Wörterbuch innerhalb eines Wörterbuchs deklarieren, indem Sie die {}-Container verschachteln:

d = {'dict1': {'foo': 1, 'bar': 2}, 'dict2': {'baz': 3, 'quux': 4}}

Anschließend können Sie mit der []-Syntax auf die Elemente zugreifen:

print d['dict1']           # {'foo': 1, 'bar': 2}
print d['dict1']['foo']    # 1
print d['dict2']['quux']   # 4

Wenn Sie also ein weiteres Wörterbuch zum Wörterbuch hinzufügen möchten, können Sie dies folgendermaßen tun:

d['dict3'] = {'spam': 5, 'ham': 6}

oder wenn Sie es vorziehen, dem internen Wörterbuch einen Eintrag nach dem anderen hinzuzufügen:

d['dict4'] = {}
d['dict4']['king'] = 7
d['dict4']['queen'] = 8

9voto

Blazer Punkte 327
dict1 = {}

dict1['dict2'] = {}

print dict1

>>> {'dict2': {},}

dies ist allgemein bekannt als Verschachtelung von Iteratoren in andere Iteratoren ich denke

3voto

intuited Punkte 21798

Möchten Sie ein Wörterbuch in ein anderes einfügen, als eines seiner Elemente, oder möchten Sie die Werte eines Wörterbuchs aus den Schlüsseln eines anderen referenzieren?

In früheren Antworten wurde bereits der erste Fall behandelt, bei dem Sie ein Wörterbuch innerhalb eines anderen Wörterbuchs erstellen.

Um die Werte eines Wörterbuchs in ein anderes zu referenzieren, können Sie dict.update :

>>> d1 = {1: [1]}
>>> d2 = {2: [2]}
>>> d1.update(d2)
>>> d1
{1: [1], 2: [2]}

Eine Änderung eines Wertes, der in beiden Wörterbüchern vorhanden ist, wird in beiden sichtbar:

>>> d1[2].append('appended')
>>> d1
{1: [1], 2: [2, 'appended']}
>>> d2
{2: [2, 'appended']}

Dies ist dasselbe wie das Kopieren des Wertes oder das Erstellen eines neuen Wörterbuchs mit ihm, d.h.

>>> d3 = {1: d1[1]}
>>> d3[1].append('appended from d3')
>>> d1[1]
[1, 'appended from d3']

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X