Usted podría hacer algo como esto:
i={'foo':'bar', 'baz':'huh?'}
keys=i.keys() #in python 3, you'll need `list(i.keys())`
values=i.values()
print keys[values.index("bar")] #'foo'
Sin embargo, cada vez que cambie su diccionario, deberá actualizar sus claves, valores porque los diccionarios no están ordenados. Cada vez que inserta un nuevo par clave/valor, el pedido que pensó que tenía se va y es reemplazado por un nuevo orden (más o menos aleatorio). Por lo tanto, pedir el índice en un diccionario no tiene sentido.
También tenga en cuenta que lo que está preguntando probablemente no sea lo que realmente desea. No hay garantía de que el mapeo inverso en un diccionario sea único. En otras palabras, usted podría tener el siguiente diccionario:
d={'i':1, 'j':1}
En ese caso, es imposible saber si desea i
o j
y de hecho hay una respuesta aquí será capaz de decirle lo que ('i'
o 'j'
) se elegirá (nuevamente, porque los diccionarios no están ordenados). ¿Qué quieres que pase en esa situación? Podría obtener una lista de claves aceptables ... pero supongo que su comprensión fundamental de los diccionarios no es del todo correcta.
Desea asignar el valor * * volver a la llave No hay índice en un dict de pitón. –
Ver http://stackoverflow.com/questions/3221475/reverse-mapping-of-dictionary-with-python y http://stackoverflow.com/questions/483666/python-reverse-inverse-a-mapping –