Einen Wert aus einer 'List' in eine Variable speichern?

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
LeoT
User
Beiträge: 2
Registriert: Montag 1. März 2021, 15:21

Hallo zusammen,
Ich bin ein Anfänger, daher ist mein Problem möglicherweise sehr einfach zu lösen :)
Ich führe eine GET Request an ein Gerät aus, welches mit den folgenden Daten antwortet:

Code: Alles auswählen

[{u'address': {u'altitude': None,
               u'area': u'',
               u'buildingNumber': None,
               u'country': None,
               u'latitude': None,
               u'longitude': None,
               u'street': u'',
               u'zip': u''},
  u'id': 63XXXX,
  u'levelOfAccess': None,
  u'name': u'Schuppen',
  u'siteKey': u'YBCL-HXXX'}]
Ich möchte nun den Wert von

Code: Alles auswählen

'siteKey'
, heisst

Code: Alles auswählen

'YBCL-HXXX'
, in eine Variable speichern.

Ich hatte so ein Problem schon einmal und konnte es mit folgender Methode lösen:

Code: Alles auswählen

variableX = exampledata['siteKey']
Das gibt aber nun immer den Fehler:

Code: Alles auswählen

TypeError: list indices must be integers, not str
aus...

Es handelt sich daher wohl um eine Liste bei den Daten... Aber wie bekomme ich da nun einen Teil in eine Variable gespeichert?!

Vielen Dank für Eure Hilfe!
Sirius3
User
Beiträge: 18274
Registriert: Sonntag 21. Oktober 2012, 17:20

Deine Daten stecken in einer Liste, das sind die eckigen Klammern. Daher mußt Du zuerst per Indexzugriff das Wörterbuch aus der Liste holen.
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Die u-Prefixe irritieren mich. Was für eine Version von Python ist da im Einsatz?
LeoT
User
Beiträge: 2
Registriert: Montag 1. März 2021, 15:21

Ich habe es gerade doch selber hinbekommen:

variableX = exampledata[0][u'siteKey'] # access element at index 0 and get value for key
Antworten