Wie kann ich alle Werte aus einem Wörterbuch in Python extrahieren?


177

Ich habe ein Wörterbuch d = {1:-0.3246, 2:-0.9185, 3:-3985, ...}.

Wie extrahiere ich alle Werte von din eine Liste l?

Antworten:


337

Wenn Sie nur den Dictionary - Schlüssel 1, 2und 3Verwendung: your_dict.keys().

Wenn Sie nur die Wörterbuchwerte -0.3246, -0.9185und -3985Verwendung: your_dict.values().

Wenn Sie sowohl Schlüssel als auch Werte verwenden möchten, verwenden Sie: your_dict.items()Dies gibt eine Liste von Tupeln zurück [(key1, value1), (key2, value2), ...].


64
Wenn Sie Python 3 verwenden, möchten list(your_dict.values())Sie eine Liste (und kein dict_values-Objekt) abrufen.
Matthias Braun

40

Verwenden values()

>>> d = {1:-0.3246, 2:-0.9185, 3:-3985}

>>> d.values()
<<< [-0.3246, -0.9185, -3985]

15

Wenn Sie alle Werte möchten, verwenden Sie Folgendes:

dict_name_goes_here.values()

Wenn Sie alle Schlüssel möchten, verwenden Sie diese:

dict_name_goes_here.keys()

Wenn Sie alle Elemente (sowohl Schlüssel als auch Werte) möchten, würde ich Folgendes verwenden:

dict_name_goes_here.items()


8

Für verschachtelte Diktate, Listen von Diktaten und Diktate von aufgelisteten Diktaten können Sie ... verwenden

def get_all_values(d):
    if isinstance(d, dict):
        for v in d.values():
            yield from get_all_values(v)
    elif isinstance(d, list):
        for v in d:
            yield from get_all_values(v)
    else:
        yield d 

Ein Beispiel:

d = {'a': 1, 'b': {'c': 2, 'd': [3, 4]}, 'e': [{'f': 5}, {'g': 6}]}

list(get_all_values(d)) # returns [1, 2, 3, 4, 5, 6]

PS: Ich liebe yield. ;-);


7

Für Python 3 benötigen Sie:

list_of_dict_values = list(dict_name.values())

Vielen Dank, dass Sie erwähnt haben, dass diese Methode list()erforderlich ist
Md. Sabbir Ahmed,

5

Wenn Sie alle Werte möchten, verwenden Sie Folgendes:

dict_name_goes_here.values()


3

So sehen Sie die Schlüssel:

for key in d.keys():
    print(key)

So erhalten Sie die Werte, auf die sich jeder Schlüssel bezieht:

for key in d.keys():
    print(d[key])

Zu einer Liste hinzufügen:

for key in d.keys():
    mylist.append(d[key])

Listenverständnis kann auch helfen
DeafaltCoder

list = [d [key] für die Eingabe von d.keys ()]
DeafaltCoder

0

Die pythonische Ententypisierung sollte im Prinzip bestimmen, was ein Objekt tun kann, dh seine Eigenschaften und Methoden. Wenn man sich ein Wörterbuchobjekt ansieht, kann man versuchen zu erraten, dass es mindestens eine der folgenden Methoden hat : dict.keys()oder dict.values()Methoden. Sie sollten versuchen, diesen Ansatz für zukünftige Arbeiten mit Programmiersprachen zu verwenden, deren Typprüfung zur Laufzeit erfolgt, insbesondere solche mit Ententypisierung.


0
dictionary_name={key1:value1,key2:value2,key3:value3}
dictionary_name.values()
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.