2016-06-09 5 views
0

Ich bin ein relativ neuer Python-Programmierer und versuche, meine enthält Methode in meiner ArrayList-Klasse zu beheben. Ich möchte prüfen, ob ein Eingabewert tatsächlich in der gespeicherten Liste enthalten ist.Wie kann ich meine eigene __contains__-Methode für eine ArrayList-Klasse erfolgreich implementieren?

Kann mir jemand sagen, was mit diesem Code falsch sein könnte? Ich teste es mit einem generierten Listenbereich (100) für den Wert 50, aber es wird nicht True zurückgegeben.

Antwort

1

Dies wird getestet, wenn num gleich dem ersten Wert in self ist. Sie sollten nur return False, nachdem die ganze Schleife endet und Sie haben gezeigt, dass num war nichts in der Liste, da Sie True noch nicht zurückgegeben haben.

Beachten Sie auch, dass die iter implizit ist, wenn Sie nur for num in self schreiben. Und eine normale Python-Liste ([]) ist im Wesentlichen schon ein Java ArrayList.

+0

Danke! Das hat mir geholfen, den Einzug zu bemerken. – Devon

Verwandte Themen