Correction des arguments par défaut mutables

En Python, l'utilisation d'objets mutables comme les listes en tant qu'arguments par défaut dans les fonctions peut conduire à des comportements inattendus. Cela s'explique par le fait que la valeur par défaut d'un argument de fonction n'est évaluée qu'une seule fois, au moment où la fonction est définie. Par conséquent, cet argument par défaut mutable est partagé entre toutes les invocations de la fonction.
Pour remédier à cela, la fonction doit être modifiée pour utiliser None comme valeur par défaut pour l'argument de liste, puis initialiser une liste vide à l'intérieur de la fonction lorsque cet argument est None.
Vous devez modifier la fonction mutable_default_argument définie dans l'exercice précédent. Cette fonction prendra deux paramètres : un entier n et une liste lst qui a pour valeur par défaut None.
La fonction doit vérifier si lst est None et, si c'est le cas, l'initialiser comme une liste vide. Elle doit ensuite ajouter l'entier n à lst et retourner lst.
La première ligne de l'entrée contient un seul entier m, le nombre de fois que la fonction sera appelée. Chacune des m lignes suivantes contient un seul entier n, le nombre qui sera ajouté à la liste.
La sortie doit contenir m lignes. Chaque ligne doit être une liste représentant l'état de lst après chaque appel de fonction.
Entrée
Sortie
3 1 2 3
[1] [2] [3]
Note: Remarquez que, contrairement à l'exercice précédent, la liste lst n'est pas partagée entre les appels de la fonction. Chaque appel de fonction produit une liste avec un seul élément, correspondant au nombre ajouté lors de cet appel particulier. C'est le comportement attendu, obtenu en évitant l'utilisation d'arguments par défaut mutables.
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue