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?

Naveen C.
quelle

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), ...].

Pierre Bourdon
quelle
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]
Zeekay
quelle
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()
Tyler Crompton
quelle
12

Rufen Sie die values()Methode auf dem Diktat auf.

David Heffernan
quelle
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. ;-);

Michael Dorner
quelle
7

Für Python 3 benötigen Sie:

list_of_dict_values = list(dict_name.values())
Faaiz Qadri
quelle
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()
Govind Sagar
quelle
3
d = <dict>
values = d.values()
Gabriel Ross
quelle
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])
Odysseus Ithaka
quelle
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.

dr_dronych
quelle
0
dictionary_name={key1:value1,key2:value2,key3:value3}
dictionary_name.values()
Shriyans
quelle