¿Cómo puedo obtener la clave del diccionario como variable directamente en Python (no buscando por valor)?
Perdón por esta pregunta básica, pero mis búsquedas al respecto no arrojan nada más que cómo obtener la clave de un diccionario en función de su valor, que preferiría no usar, ya que simplemente quiero el texto/nombre de la clave y me preocupa que la búsqueda por valor puede terminar devolviendo 2 o más claves si el diccionario tiene muchas entradas... lo que estoy tratando de hacer es esto:
mydictionary={'keyname':'somevalue'}
for current in mydictionary:
result = mydictionary.(some_function_to_get_key_name)[current]
print result
"keyname"
La razón de esto es que los estoy imprimiendo en un documento y quiero usar el nombre de la clave y el valor al hacerlo.
He visto el método siguiente, pero parece que solo devuelve el valor de la clave.
get(key[, default])
Deberías iterar sobre las claves con:
for key in mydictionary:
print "key: %s , value: %s" % (key, mydictionary[key])
Si desea acceder tanto a la clave como al valor, utilice lo siguiente:
Pitón 2:
for key, value in my_dict.iteritems():
print(key, value)
Pitón 3:
for key, value in my_dict.items():
print(key, value)
La razón de esto es que los estoy imprimiendo en un documento y quiero usar el nombre de la clave y el valor al hacerlo.
Según el requisito anterior, esto es lo que sugeriría:
keys = mydictionary.keys()
keys.sort()
for each in keys:
print "%s: %s" % (each, mydictionary.get(each))
Si el diccionario contiene un par como este:
d = {'age':24}
entonces puedes obtener como
field, value = d.items()[0]
Para Python 3.5, haga esto:
key = list(d.keys())[0]