¿Cómo puedo extraer todos los valores de un diccionario en Python?

177

Tengo un diccionario d = {1:-0.3246, 2:-0.9185, 3:-3985, ...}.

¿Cómo extraigo todos los valores de den una lista l?

Naveen C.
fuente

Respuestas:

338

Si sólo necesita las claves de diccionario 1, 2y 3su uso: your_dict.keys().

Si sólo necesita los valores del diccionario -0.3246, -0.9185y -3985su uso: your_dict.values().

Si desea utilizar tanto claves como valores: your_dict.items()que devuelve una lista de tuplas [(key1, value1), (key2, value2), ...].

Pierre Bourdon
fuente
64
Si está utilizando Python 3, querrá usarlo list(your_dict.values())para obtener una lista (y no un objeto dict_values).
Matthias Braun
40

Utilizar values()

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

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

Si desea todos los valores, use esto:

dict_name_goes_here.values()

Si desea todas las claves, use esto:

dict_name_goes_here.keys()

SI desea todos los elementos (claves y valores), usaría esto:

dict_name_goes_here.items()
Tyler Crompton
fuente
12

Llame al values()método en el dict.

David Heffernan
fuente
9

Para dictados anidados, listas de dictados y dictados de dictados enumerados, ... puede usar

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 ejemplo:

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]

PD: me encanta yield. ;-)

Michael Dorner
fuente
7

Para Python 3, necesitas:

list_of_dict_values = list(dict_name.values())
Faaiz Qadri
fuente
Gracias por mencionar que list()se necesita ese método
Md. Sabbir Ahmed
5

Si desea todos los valores, use esto:

dict_name_goes_here.values()
Govind Sagar
fuente
3
d = <dict>
values = d.values()
Gabriel Ross
fuente
3

Para ver las llaves:

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

Para obtener los valores a los que hace referencia cada clave:

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

Añadir a una lista:

for key in d.keys():
    mylist.append(d[key])
Odiseo Ítaca
fuente
la comprensión de la lista también puede ayudar
DeafaltCoder
list = [d [clave] para la clave en d.keys ()]
DeafaltCoder
0

La tipificación del pato pitón debería, en principio, determinar qué puede hacer un objeto, es decir, sus propiedades y métodos. Al mirar un objeto de diccionario, uno puede tratar de adivinar que tiene al menos uno de los siguientes métodos dict.keys()o dict.values()métodos. Debería intentar utilizar este enfoque para futuros trabajos con lenguajes de programación cuya verificación de tipo se produce en tiempo de ejecución, especialmente aquellos con la naturaleza de escribir pato.

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