resueltos - ¿Cómo puedo obtener la clave del diccionario como variable directamente en Python(no buscando desde el valor)?
lista dentro de un diccionario python (9)
Perdón por esta pregunta básica, pero mis búsquedas sobre esto no están obteniendo otra cosa que no sea cómo obtener la clave de un diccionario en función de su valor, que preferiría no utilizar, ya que simplemente quiero el texto / nombre de la clave y me preocupa que busque por valor puede terminar devolviendo 2 o más claves si el diccionario tiene muchas entradas ... lo que intento 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 estoy imprimiendo estos en un documento y quiero usar el nombre de la clave y el valor para hacerlo
He visto el método a continuación, pero esto parece devolver el valor de la clave
get(key[, default])
La razón de esto es que estoy imprimiendo estos en un documento y quiero usar el nombre de la clave y el valor para hacerlo
En base al requisito anterior, esto es lo que sugeriría:
keys = mydictionary.keys()
keys.sort()
for each in keys:
print "%s: %s" % (each, mydictionary.get(each))
Deberías iterar sobre las teclas con:
for key in mydictionary:
print "key: %s , value: %s" % (key, mydictionary[key])
Iterar sobre el diccionario (i) devolverá la clave, luego usándola (i) para obtener el valor
for i in D:
print "key: %s, value: %s" % (i, D[i])
Lo que a veces hago es crear otro diccionario solo para poder acceder a cualquier cosa que necesite a modo de cadena. A continuación, iterar sobre varios diccionarios que coinciden con las claves para construir, por ejemplo, una tabla con la primera columna como descripción.
dict_names = {''key1'': ''Text 1'', ''key2'': ''Text 2''}
dict_values = {''key1'': 0, ''key2'': 1}
for key, value in dict_names.items():
print(''{0} {1}''.format(dict_names[key], dict_values[key])
Puede hacer una gran cantidad de diccionarios para unir datos (me gusta el hecho de que con el diccionario siempre puede referirse a algo bien conocido como el nombre de la tecla)
sí, uso diccionarios para almacenar resultados de funciones, así que no necesito ejecutar estas funciones cada vez que las llamo solo una vez y luego accedo a los resultados en cualquier momento.
EDITAR: en mi ejemplo, el nombre de la clave realmente no importa (personalmente me gusta utilizar los mismos nombres de clave ya que es más fácil seleccionar un solo valor de cualquiera de mis diccionarios coincidentes), solo asegúrese de que la cantidad de claves en cada diccionario sea lo mismo
Para python 3 Si desea obtener solo las claves, use esto. Reemplace la impresión (clave) con impresión (valores) si desea los valores.
for key,value in my_dict:
print(key)
Si desea imprimir clave y valor, use lo siguiente:
for key, value in my_dict.iteritems():
print key, value
Si el diccionario contiene un par como este:
d = {''age'':24}
entonces puedes obtener como
field, value = d.items()[0]
Para Python 3.5, haz esto:
key = list(d.keys())[0]
Tan sencillo como eso:
mydictionary={''keyname'':''somevalue''}
result = mydictionary.popitem()[0]
Tu diccionario será tuyo y deberías hacer una copia del mismo
keys=[i for i in mydictionary.keys()]
o keys = list(mydictionary.keys())