Wenn Sie die Werte als Liste einer Variablen zuweisen müssen, ist eine weitere Methode, die das Entpacken *
Betreiber ist
*values, = d.values()
Abrufen einer Liste von Werten für bestimmte Schlüssel in einem Wörterbuch
Der einfachste Weg ist die Verwendung eines Verständnisses durch Iteration über list_of_keys
. Wenn list_of_keys
enthält Schlüssel, die nicht Schlüssel von d
, .get()
Methode kann verwendet werden, um einen Standardwert zurückzugeben ( None
standardmäßig, kann aber geändert werden).
res = [d[k] for k in list_of_keys]
# or
res = [d.get(k) for k in list_of_keys]
Wie so oft gibt es eine in Python integrierte Methode, die die Werte unter den Schlüsseln abrufen kann: itemgetter()
aus dem eingebauten operator
Modul.
from operator import itemgetter
res = list(itemgetter(*list_of_keys)(d))
Demonstration:
d = {'a':2, 'b':4, 'c':7}
list_of_keys = ['a','c']
print([d.get(k) for k in list_of_keys])
print(list(itemgetter(*list_of_keys)(d)))
# [2, 7]
# [2, 7]
Abrufen von Werten desselben Schlüssels aus einer Liste von Wörterbüchern
Auch hier funktioniert ein Verständnis (Iteration über eine Liste von Wörterbüchern). Ebenso wie das Mapping itemgetter()
über die Liste, um die Werte eines bestimmten Schlüssels/bestimmter Schlüssel zu erhalten.
list_of_dicts = [ {"title": "A", "body": "AA"}, {"title": "B", "body": "BB"} ]
list_comp = [d['title'] for d in list_of_dicts]
itmgetter = list(map(itemgetter('title'), list_of_dicts))
print(list_comp)
print(itmgetter)
# ['A', 'B']
# ['A', 'B']