Vous pouvez écrire une recursive function pour y parvenir comme:
def my_func(s, n):
return [s] if n == 0 else [my_func(s, n-1)]
Sample Run:
>>> my_func('foo', 3)
[[[['foo']]]]
Note: Il y a une limite récursive maximale autorisée pour la pile de l'interpréteur Python. Cette limite empêche la récursion infinie de provoquer un débordement de la pile C et un écrasement de Python.
Vous pouvez vérifier cette valeur en utilisant la fonction sys.getrecursionlimit()
qui selon la doc:
Retour la valeur actuelle de la limite de récursivité, la profondeur maximale de la pile de l'interpréteur Python. Cette limite empêche la récursion infinie de provoquer un débordement de la pile C et un écrasement de Python. Il peut être défini par setrecursionlimit().
Ok. Qu'avez-vous essayé? –
Ce forum a pour but de vous aider à résoudre une question spécifique. Par conséquent, vous devez faire un peu de travail par vous-même. Une question comme: Je veux xy pouvez-vous programmer cela pour moi prend généralement un professionnel et donc coûte de l'argent;) –
J'imagine 'nest (" foo ", 0)' devrait être '' foo "', pas '[" foo "]', ce qui signifie 'nest (" foo ", 3)' devrait être '[[" foo "]]]' '' ' – chepner