J'ai une base de données qui modélise une relation de dossier à n niveaux d'imbrication. Pour un dossier donné, je veux générer une liste de tous les dossiers enfants.Fonction de bouclage récursif en Python
En supposant que j'ai une fonction appelée "getChildFolders()", quel est le moyen le plus efficace d'appeler ce type de boucle récursive. Le code suivant fonctionne pour 4 niveaux d'imbrication, mais j'aimerais plus de flexibilité pour spécifier la profondeur de récursion ou pour arrêter intelligemment la boucle quand il n'y a plus d'enfants à suivre.
folder_ids = []
folder_ids.append(folder.id)
for entry in child_folders:
folder_ids.append(entry.id)
child_folders_1 = getChildFolders(entry.id)
for entry_1 in child_folders_1:
folder_ids.append(entry_1.id)
child_folders_2 = getChildFolders(entry_1.id)
for entry_2 in child_folders_2:
folder_ids.append(entry_2.id)
child_folders_3 = getChildFolders(entry_2.id)
for entry_3 in child_folders_3:
folder_ids.append(entry_3.id)
vous sûr de vouloir tous subdirs, peu importe à quel niveau dans la hiérarchie, ils vivent, dans une liste plate? – delnan