Seite 1 von 1
dictionarys innerhalb einer Liste
Verfasst: Freitag 5. März 2021, 21:54
von Achromatic
Ich habe das Problem, dass ich als Ausgabe einer Datenanfrage eines APIs eine Liste bekommen habe die mehrere dictionarys beinhaltelt. Für mich relevant ist allerdings nur ein Value je dictionary.
Gibt es einen einfachen weg diese zu bekommen?
Code: Alles auswählen
[{'id': '1', 'name': 'A', 'url': 'g'},
{'id': '2', 'name': 'B', 'url': 'g'},
{'id': '3', 'name': 'C', 'url': 'g'},
{'id': '4', 'name': 'D', 'url': 'g'},
{'id': '5', 'name': 'E', 'url': 'g'},
{'id': '6', 'name': 'F', 'url': 'g'}]
Ich will also quasi als Ergebnis eine Liste mit A, B, C, D, E, F
Re: dictionarys innerhalb einer Liste
Verfasst: Samstag 6. März 2021, 08:19
von sparrow
Mit einer list comprehension.
Re: dictionarys innerhalb einer Liste
Verfasst: Samstag 6. März 2021, 10:13
von __blackjack__
Hier mit Kanonen auf Spatzen geschossen, aber ich bringe die Kanone trotzdem mal ins Spiel:
Code: Alles auswählen
In [2]: data
Out[2]:
[{'id': '1', 'name': 'A', 'url': 'g'},
{'id': '2', 'name': 'B', 'url': 'g'},
{'id': '3', 'name': 'C', 'url': 'g'},
{'id': '4', 'name': 'D', 'url': 'g'},
{'id': '5', 'name': 'E', 'url': 'g'},
{'id': '6', 'name': 'F', 'url': 'g'}]
In [3]: import glom as g
In [4]: g.glom(data, ["name"])
Out[4]: ['A', 'B', 'C', 'D', 'E', 'F']
Re: dictionarys innerhalb einer Liste
Verfasst: Dienstag 9. März 2021, 08:31
von DeaD_EyE
Mit der Standardbiliothek:
Code: Alles auswählen
from operator import itemgetter
data = [{'id': '1', 'name': 'A', 'url': 'g'},
{'id': '2', 'name': 'B', 'url': 'g'},
{'id': '3', 'name': 'C', 'url': 'g'},
{'id': '4', 'name': 'D', 'url': 'g'},
{'id': '5', 'name': 'E', 'url': 'g'},
{'id': '6', 'name': 'F', 'url': 'g'}]
data2 = list(map(itemgetter("name"), data))
Re: dictionarys innerhalb einer Liste
Verfasst: Dienstag 9. März 2021, 21:31
von Maxi.py
Hallo, das ist eigentlich ganz einfach, man muss nur ein bisschen nachdenken:
Code: Alles auswählen
api = [
{'id': '1', 'name': 'A', 'url': 'g'},
{'id': '2', 'name': 'B', 'url': 'g'},
{'id': '3', 'name': 'C', 'url': 'g'},
{'id': '4', 'name': 'D', 'url': 'g'},
{'id': '5', 'name': 'E', 'url': 'g'},
{'id': '6', 'name': 'F', 'url': 'g'}
]
names = [name.get("name") for name in api]