Unterelemente in Python Listen?
Bei meiner Liste in Python sind Unterelemente in Elementen also z.B.: [{"a": "1", "b": "3"}, {"a": "5", "b": "8"}] Wie kann ich die Unterelemente (die Elemente in den geschweiften Klammern) ausgeben also z.B. nur "a": "1". Bisher kann ich nur das ganze Element mit liste[0] ausgeben also: {"a": "1", "b": "3"}.
2 Antworten
deineListe = [{"a": "1", "b": "3"}, {"a": "5", "b": "8"}]
print(deineListe[0]['a']) //gibt 1
>>> " Ich bin ein String-Objekt "
' Ich bin ein String-Objekt '
>>> " Ich bin ein String-Objekt ".lower()
' ich bin ein string-objekt '
>>> " Ich bin ein String-Objekt ".lower().strip()
'ich bin ein string-objekt'
>>> " Ich bin ein String-Objekt ".lower().strip().split()
['ich', 'bin', 'ein', 'string-objekt']
Da lower() einen String zurückgibt, kannst Du dessen strip()-Methode aufrufen, was wiederum einen String zurückgibt, weswegen Du dessen split()-Methode aufrufen kannst. Du dürftest diese Liste nun mit [] indizieren und slicen.
Schauen wir uns mal Dein Konstrukt an:
[{"a": "1", "b": "3"}, {"a": "5", "b": "8"}]
Eine Liste ist indizierbar, also können wir schreiben:
>>> [{"a": "1", "b": "3"}, {"a": "5", "b": "8"}][1]
{'a': '5', 'b': '8'}
Diese Rückgabe ist ein Dictionary, daßs einen Zugriff über den Schlüssel zulässt,das mache ich mit [key], probieren wir es:
>>> [{"a": "1", "b": "3"}, {"a": "5", "b": "8"}][1]['b']
'8'
Scheint nur konsequent, ich nehme mal das gleiche und ersetze die 8 aber vorher durch einen String:
[{"a": "1", "b": "3"}, {"a": "5", "b": " Python nutzt duck-typing 1!11!"}][1]['b']
' Python nutzt duck-typing 1!11!'
Bereit für etwas Spaß? Vielleicht fragst Du Dich ja:
'Was ist '+[{"a": "1", "b": "3"}, {"a": "5", "b": " Python nutzt duck-typing 1!11!"}][1]['b'].strip().lower()[:-5].strip().split()[2]+'?'
;-)