157 Stimmen

Wie man mehrere Wörterbuchwerte erhält?

Ich habe ein Wörterbuch in Python, und was ich tun möchte, ist einige Werte als Liste daraus zu erhalten, aber ich weiß nicht, ob dies von der Implementierung unterstützt wird.

myDictionary.get('ersterSchlüssel')   # funktioniert gut

myDictionary.get('ersterSchlüssel','zweiterSchlüssel')
# wirft KeyError -> OK, get ist nicht für mehrere Schlüssel definiert
myDictionary['ersterSchlüssel','zweiterSchlüssel']   # funktioniert auch nicht

Gibt es einen Weg, dies zu erreichen? In meinem Beispiel sieht es einfach aus, aber sagen wir, ich habe ein Wörterbuch mit 20 Einträgen und ich möchte 5 Schlüssel abrufen. Gibt es einen anderen Weg, als das Folgende zu tun?

myDictionary.get('ersterSchlüssel')
myDictionary.get('zweiterSchlüssel')
myDictionary.get('dritterSchlüssel')
myDictionary.get('vierterSchlüssel')
myDictionary.get('fünfterSchlüssel')

0voto

marcin2x4 Punkte 1347

Etwas andere Variation des Listenkomprehensionsansatzes.

#doc
[dict[key] for key in (tuple_of_searched_keys)]

#example
my_dict = {x: x**2 for x in range(10)}
print([my_dict[key] for key in (8,9)])

-1voto

Mux Punkte 29

Wenn es nicht zu viele Ersatzschlüssel gibt, können Sie so etwas machen

value = my_dict.get('erster_schlussel') or my_dict.get('zweiter_schlussel')

-2voto

def get_all_values(verschachteltes_wörterbuch):
    for schlüssel, wert in verschachteltes_wörterbuch.items():
        daten_liste = []
        if type(wert) is dict:
            for schlüssel1, wert1 in wert.items():
                daten_liste.append(wert1)

    return daten_liste

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X