J'ai une méthode qui crée un nouveau nœud dans un arbre - soit à gauche ou à droite. Si la valeur est inférieure à ma valeur actuelle, elle est insérée à gauche, sinon à droite.Pointeurs en Python sur des variables avec aucune valeur
Je veux refactoriser ce code, de sorte que je vois d'abord sur quel côté je dois insérer mon élément, puis l'insérer. Avant je l'ai mis en œuvre deux fois: Une fois pour le côté gauche et une fois pour le côté droit.
Il ressemble actuellement à ceci:
def neu(self, sortByValue, secondValue):
child = self.left if(sortByValue.lower() < self.value[0].lower()) else self.right
if(child == None):
child = MyTree(sortByValue,secondValue)
else: child.neu(sortByValue,secondValue)
Mon problème est, cependant, que self.left est None, et self.right est Aucun. Donc, quand je crée un enfant en tant que variable et que je le mets à MyTree (...), self.left et self.right ne reçoivent pas la valeur.
Y at-il quelque chose que je peux faire pour améliorer cela? Merci!
Vous devriez vraiment travailler sur vos conventions de codage, voir PEP 8. – nikow
Avoir de la difficulté à travailler sur ce que vous essayez d'accomplir. Que voulez-vous dire "self.left et self.right ne reçoivent pas la valeur"? Si vous pouviez reformuler votre problème spécifique, cela pourrait nous aider à comprendre. – akent
D'accord, c'est déconcertant. Pourriez-vous poster plus de code? Vous devez inclure suffisamment de votre classe pour que quelqu'un puisse réellement exécuter votre code. –