Débutant Alerte:Dictionary (même valeur, clé différente)
Je suis nouveau à Python et quand je suis en fait d'ajouter des valeurs à un dict, je trouve que quand je l'impression du tout le dictionnaire, je reçois la même valeur de quelque chose pour toutes les clés d'une clé spécifique.
Cela ressemble à un problème de pointeur?
Voici un extrait en utilisant l'analyseur XML basé sur les événements (SAX):
Fondamentalement avec chaque élément d'extrémité de la « ligne », je stocker l'élément par sa clé: self.Id, où l'auto est l'élément.
def endElement(self, name):
if name == "row":
self.mapping[self.Id] = self
print "Storing...: " + self.DisplayName + " at Id: " + self.Id
J'utilise un analyseur de sax, donc endElement est appelé chaque fois que la fin d'un élément est atteint ... J'essaie de stocker l'élément à son Id –
Alex, merci, oui c'est ce que je voulais dire. Comment attribuer une "copie" à la place d'une "référence"? –
'import copy' et stocke' copy.copy (self) '(ou' copy.deepcopy (self) 'si vous avez besoin de copies récursives de tous les conteneurs que vous avez comme attributs: listes, dicts, etc). –