Le comptage de la profondeur ou le niveau le plus profond, une liste imbriquée va à

Un ont un réel problème (et un mal de tête) avec une mission...

Je suis dans un cours d'introduction à la programmation de la classe, et je dois écrire une fonction qui, étant donné une liste, sera de retour le "maximum" de profondeur, il va à la...
Par exemple: [1,2,3] retourne 1, [1,[2,3]] sera de retour le 2...

J'ai écrit ce morceau de code (c'est le meilleur que j'ai pu obtenir T_T)

def flat(l):
    count=0
    for item in l:
        if isinstance(item,list):
            count+= flat(item)
    return count+1

Cependant, Il est évident qu'elle se complique pas fonctionner comme il se doit, parce que si il y a des listes qui ne comptent pas pour le maximum de profondeur, il soulève encore le compteur...

Par exemple: lorsque j'utilise la fonction avec [1,2,[3,4],5,[6],7] il doit retourner 2, mais il renvoie 3...

Des idées ou de l'aide serait grandement appréciée ^^ merci beaucoup!! J'ai été strugling avec ce depuis des semaines...

  • Je pense que le mot que vous voulez, c'est la "profondeur", pas de "profondeur".
  • Comme une note de côté: découvrez la PEP-8. Ça va être bon pour former les habitudes tout de suite. Pour commencer, utilisez L pour une liste, pas l (qui ressemble à 1).
  • Merci ^^ mon mal, je suppose que c'est assez clair que l'anglais n'est pas ma langue première 🙂
  • C'est vraiment intéressant ^^ merci! Je ne savais pas que l'existence même d'un...
  • +1 pour la prise clair que ce sont les devoirs et ensuite de poser la question de manière appropriée. La question est à la fois intéressant, et montre ce qui a été tenté jusqu'à présent.
InformationsquelleAutor dhcarmona | 2011-05-18