Parfois, il semble naturel d'avoir un paramètre par défaut qui est une liste vide. Pourtant, Python donne un comportement inattendu dans ces situations .
Si par exemple, j'ai une fonction:
def my_func(working_list = []):
working_list.append("a")
print(working_list)
La première fois qu'elle est appelée, la valeur par défaut fonctionnera, mais les appels suivants mettront à jour la liste existante (avec un "a" à chaque appel) et imprimera la version mise à jour.
Alors, quelle est la manière pythonique d'obtenir le comportement que je désire (une nouvelle liste à chaque appel)?