it-swarm.com.de

Python-Zugriffswörterbuch innerhalb der Liste eines Wörterbuchs

Hallo, ich habe das folgende Wörterbuch, das einen Wert mit einer Liste hat, und in der Liste ist ein Wörterbuch. Gibt es eine Möglichkeit, den Wörterbuchwert innerhalb der Liste mit der Taste anstelle des Listenindex aufzurufen? Das Wörterbuch in der Liste kann variieren, sodass der Indexwert nicht immer das richtige Schlüsselwertpaar enthält. Wenn ich jedoch den Schlüssel verwenden kann, kann ich immer den richtigen Wert erhalten.

mylist = {'mydict': [{'A': 'Letter A'}, {'B': 'Letter C'}, {'C': 'Letter C'}]}
print(mylist['mydict'][0]['A'])

Aktueller Output:

Letter A

Gewünschte Abfrage:

print(mylist['mydict']['A'])
Letter A
4
MBasith

Momentan befinden sich 3 Wörterbücher in einer Liste innerhalb eines Wörterbuchs. Versuchen Sie stattdessen das Folgende:

my_nested_dictionary = {'mydict': {'A': 'Letter A', 'B': 'Letter C', 'C': 'Letter C'}}
print(my_nested_dictionary['mydict']['A'])
5
M3RS

Sehen Sie sich den Code unten an:

>>> mylist = {'mydict': [{'A': 'Letter A'}, {'B': 'Letter C'}, {'C': 'Letter C'}]}
>>> for dictionary in mylist['mydict']:
...  try:
...   dictionary['A']
...  except KeyError:
...   pass
... 
'Letter A'

Sie durchlaufen Wörterbücher in Ihrer Liste und versuchen dann, Ihre A-Taste aufzurufen. Sie fangen KeyError, weil der Schlüssel im Wörterbuch möglicherweise nicht vorhanden ist.

2
Laszlowaty

Versuchen Sie den folgenden Code, um das neue Diktat zu generieren.

mylist = {'mydict': [{'A': 'Letter A'}, {'B': 'Letter C'}, {'C': 'Letter C'}]}
newDict={}
for item in mylist['mydict']:
    newDict.update(item)
mylist['mydict']=newDict
print(mylist['mydict']['A'])
2
aristotll

Wie wäre es mit einem Generator?

item = next(item['A'] for item in mylist['mydict'] if 'A' in item)
0
Dmytro Chekunov

Dies ist nur möglich, wenn Ihre Originaldaten wie folgt formatiert sind:

mylist = {'mydict': {'A': 'Letter A','B': 'Letter C','C': 'Letter C'}}

also ohne die eingebettete liste - welche scheint überhaupt keine sinnvolle struktur hinzuzufügen?

0
Thijs Cobben