Perdón por esta pregunta básica, pero mis búsquedas en 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 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 para hacerlo.
He visto el siguiente método, pero parece que solo devuelve el valor de la clave
get(key[, default])
python
dictionary
key
Almiar
fuente
fuente
current
es la clave actual, solo hazloprint current
Respuestas:
Debe iterar sobre las teclas con:
fuente
for key in mydictionary:
print (f"key: {key}, value: {mydictionary[key]}")
Si desea imprimir clave y valor, use lo siguiente:
fuente
Según el requisito anterior, esto es lo que sugeriría:
fuente
my_dict.item()
o la comprensión de listas,keys = list(my_dict.keys)
pero en caso de que alguien quiera hacer esto en Python 3: (línea 2)keys = sorted(my_dict.keys())
+ add () para imprimir.Si el diccionario contiene un par como este:
entonces puedes obtener
Para Python 3.5, haga esto:
fuente
TypeError: 'dict_items' object does not support indexing
key = list(d.keys())[0]
next()
es mejor de acuerdo con: stackoverflow.com/a/27638751/1488445keys=[i for i in mydictionary.keys()]
okeys = list(mydictionary.keys())
fuente
Tan sencillo como eso:
Modificará su diccionario y primero debe hacer una copia.
fuente
Simplemente podría usar el
*
que desempaqueta las teclas del diccionario. Ejemplo:fuente
Iterar sobre el diccionario (i) devolverá la clave y luego usarla (i) para obtener el valor
fuente
Para python 3 Si desea obtener solo las claves, use esto. Reemplace print (clave) con print (valores) si desea los valores.
fuente
Lo que a veces hago es crear otro diccionario solo para poder acceder a lo que siento que necesito como cadena. Luego itero sobre múltiples diccionarios que coinciden con claves para construir, por ejemplo, una tabla con la primera columna como descripción.
Puede hacerlo fácilmente para que una gran cantidad de diccionarios coincidan con los datos (me gusta el hecho de que con el diccionario siempre puede referirse a algo conocido como el nombre clave)
Sí, uso diccionarios para almacenar resultados de funciones, por lo 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 usar los mismos nombres de clave, ya que es más fácil elegir un solo valor de cualquiera de mis diccionarios coincidentes), solo asegúrese de que el número de claves en cada diccionario sea lo mismo
fuente
Puede hacer esto enviando las claves y valores dict a la lista. También se puede hacer para artículos.
Ejemplo:
fuente
cambie fácilmente la posición de sus claves y valores, luego use los valores para obtener la clave, en el diccionario las claves pueden tener el mismo valor pero ellas (las claves) deben ser diferentes. por ejemplo, si tiene una lista y el primer valor de la misma es clave para su problema y otros valores son las especificaciones del primer valor:
Puede guardar y usar los datos fácilmente en el diccionario mediante este bucle:
entonces puede encontrar la base de la clave (nombre) en cualquier valor de entrada.
fuente