Python - Buscar entre valores y devolver su llave (dict python)

 
Vista:
sin imagen de perfil

Buscar entre valores y devolver su llave (dict python)

Publicado por Hugo Fernando (4 intervenciones) el 21/07/2021 02:36:24
necesito mostrar la llave según un valor buscado. el problema es que cada llave posee varios valores.
de esta manera puedo buscar siempre que haya un solo valor o si quiero usarlo para buscar llaves. ¿hay alguna solución a este problema? gracias

arbolp = { 'tio' : ['pepe' , 'calo'], 'abuela' : ['pepa' , 'nana'] }

buscarnp = input("Ingrese el nombre de la persona")

for key , value in arbolm.items () :
if value == buscarnp:
print (value, key)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Buscar entre valores y devolver su llave (dict python)

Publicado por tincopasan (1082 intervenciones) el 21/07/2021 02:45:27
no quiero modificar tu código más de lo necesario:
1
2
3
4
5
6
arbolp = { 'tio' : ['pepe' , 'calo'], 'abuela' : ['pepa' , 'nana'] }
 
buscarnp = input("Ingrese el nombre de la persona: ")
for key , value in arbolp.items () :
    if buscarnp in value:
        print (value, key)
el error es de lógica, el valor es una lista por lo tanto debes comprobar que lo buscado este en esa lista.
además el diccionario es arbolp y estás recorriendo arbolm
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Buscar entre valores y devolver su llave (dict python)

Publicado por Hugo Fernando (4 intervenciones) el 21/07/2021 03:31:56
si perdón, el error fue en el copiado ya que utilizo dos diccionarios. Y como lo resuelvo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Buscar entre valores y devolver su llave (dict python)

Publicado por tincopasan (1082 intervenciones) el 21/07/2021 03:50:13
¿probaste lo que puse?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Buscar entre valores y devolver su llave (dict python)

Publicado por Hugo Fernando (4 intervenciones) el 21/07/2021 03:58:33
si lo probé y funciona! muchas gracias. Ahora entendí lo que me dijiste, mis key serían los nombre de las listas.
En principio probé con arbolp.items() pero en el if ponía ==. Cuál es la diferencia entre (==) e (in)???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Buscar entre valores y devolver su llave (dict python)

Publicado por tincopasan (1082 intervenciones) el 21/07/2021 04:10:41
a ver, == significa que literalmente es igual o sea si A == A es verdadero pero A == AB es falso ya que no son literlamente iguales, ahora A in AB es verdadero, porque efectivamente A se encuentra dentro de AB aunque literalmente no son iguales sino que está contenida.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Buscar entre valores y devolver su llave (dict python)

Publicado por Hugo Fernando (4 intervenciones) el 21/07/2021 04:12:49
Perfecto ya entendí!! , te agradezco por tomarte el tiempo y ayudar a la comunidad!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar