¿Cómo obtener la clave del valor en un diccionario en Python?

d[key] = value 

Pero, ¿cómo obtener las claves de valor?

Por ejemplo:

 a = {"horse": 4, "hot": 10, "hangover": 1, "hugs": 10} b = 10 print(do_something with 10 to get ["hot", "hugs"]) 

Puede escribir una lista de comprensión para extraer las claves correspondientes.

 print([k for k,v in a.items() if v == b]) 

Algo como esto puede hacerlo:

 for key, value in a.iteritems(): if value == 10: print key 

Si desea guardar las claves asociadas a un valor en una lista, edite el ejemplo anterior de la siguiente manera:

 keys = [] for key, value in a.iteritems(): if value == 10: print key keys.append(key) 

También puede hacerlo en una lista de comprensión como se indica en otra respuesta.

 b = 10 keys = [key for key, value in a.iteritems() if value == b] 

Tenga en cuenta que en python 3, dict.items es equivalente a dict.iteritems en python 2, verifique esto para obtener más detalles: ¿Cuál es la diferencia entre dict.items () y dict.iteritems ()?