¿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?

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


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]

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()


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. ;-)





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

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.


0
dictionary_name={key1:value1,key2:value2,key3:value3}
dictionary_name.values()
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.