Come posso estrarre tutti i valori da un dizionario in Python?


177

Ho un dizionario d = {1:-0.3246, 2:-0.9185, 3:-3985, ...}.

Come estraggo tutti i valori di din un elenco l?

Risposte:


339

Se hai bisogno solo delle chiavi del dizionario 1, 2e 3l'uso: your_dict.keys().

Se avete solo bisogno dei valori del dizionario -0.3246, -0.9185e -3985l'uso: your_dict.values().

Se si desidera utilizzare sia le chiavi sia i valori: your_dict.items()restituisce un elenco di tuple [(key1, value1), (key2, value2), ...].


64
Se stai usando Python 3 ti consigliamo list(your_dict.values())di ottenere un elenco (e non un oggetto dict_values).
Matthias Braun

40

Uso values()

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

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

16

Se vuoi tutti i valori, usa questo:

dict_name_goes_here.values()

Se vuoi tutte le chiavi, usa questo:

dict_name_goes_here.keys()

Se desideri tutti gli elementi (sia chiavi che valori), vorrei usare questo:

dict_name_goes_here.items()


9

Per i dadi nidificati, gli elenchi dei dadi e i dadi dei dadi elencati, ... puoi usare

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 

Un esempio:

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: adoro yield. ;-)


7

Per Python 3, hai bisogno di:

list_of_dict_values = list(dict_name.values())

Grazie per aver menzionato che list()è necessario il metodo
sig. Sabbir Ahmed



3

Per vedere le chiavi:

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

Per ottenere i valori a cui fa riferimento ciascuna chiave:

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

Aggiungi a un elenco:

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

anche la comprensione dell'elenco può aiutare
DeafaltCoder

list = [d [key] per key in d.keys ()]
DeafaltCoder

0

In linea di principio, la tipizzazione con l'anatra Pythonic dovrebbe determinare cosa può fare un oggetto, ovvero le sue proprietà e i suoi metodi. Guardando un oggetto dizionario si può provare a indovinare che ha almeno uno dei seguenti: dict.keys()o dict.values()metodi. Dovresti provare a utilizzare questo approccio per il lavoro futuro con linguaggi di programmazione il cui controllo del tipo si verifica in fase di esecuzione, in particolare quelli con la natura di tipo anatra.


0
dictionary_name={key1:value1,key2:value2,key3:value3}
dictionary_name.values()
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.