1. Croire que b = a recopie la table
2 points, et toutes les questions suivantes qui utilisent la table d'origineCe qu'il ne faut pas écrire
« Je fais copie = table puis je modifie copie, comme ça la table d'origine n'est pas touchée. »
Ce qu'il faut écrire
« copie = table ne crée aucun objet : les deux noms désignent la même liste. Pour dupliquer les lignes, j'écris copie = [dict(l) for l in table]. »
Pourquoi : En Python, une affectation lie un nom à un objet, elle ne duplique jamais l'objet. C'est vrai pour les listes, les dictionnaires et les objets, jamais pour les nombres et les chaînes, qui sont immuables et donnent l'illusion inverse.