es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo recuperar la profundidad de los diccionarios anidados en diccionarios anidados en Python?

No estoy seguro si tengo un bloqueo mental o si esto realmente debería ser un desafío, pero estoy teniendo problemas para descubrir cómo verificar la profundidad de los diccionarios anidados si no se conocen las claves.

Aquí hay un ejemplo de lo que estoy tratando de hacer (de la manera más simple / eficiente):

Idealmente, debería haber alguna manera de determinar la profundidad máxima de este diccionario, sin conocer las claves ni los valores:

nested_dict = {
‘nest1’: {
‘nest2’: {
‘nest3’: ‘val’
},
‘unknown_key’: ‘val’,
‘unknown_key’: ‘val’
}
}

Por favor, háganme saber si esto tiene sentido.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Desafortunadamente, no hay una manera simple de determinar la profundidad máxima de un diccionario anidado sin conocer las claves y los valores. Sin embargo, se puede utilizar una función recursiva para recorrer el diccionario y hacer un seguimiento de la profundidad. Aquí hay un ejemplo de una función recursiva que se puede utilizar para determinar la profundidad máxima de un diccionario anidado:

    def max_depth(diccionario):
        profundidad_maxima = 0
        for clave, valor in diccionario.items():
            if isinstance(valor, dict):
                profundidad = max_depth(valor) + 1
                if profundidad > profundidad_maxima:
                    profundidad_maxima = profundidad
        return profundidad_maxima
    

    Luego puede llamar a la función en su diccionario anidado para determinar la profundidad máxima:

    max_depth(diccionario_anidado)
    

    Esto devolverá 3, lo que indica que la profundidad máxima del diccionario anidado es 3.

Comments are closed.