Ich verstehe, was dieser Fehler bedeutet, aber kann jemand erklären, was mache ich falsch mit diesem bestimmten Code? Im Grunde ist path = [A, B, C, D] und ich erschaffe nur [4] [4] (final) 2-dimensionale Arrays, die die benachbarten Indizes vertauschen. Das Tauschen beginnt mit dem letzten Element und dem Element davor und geht mit dem Schleifenanfang an den Anfang der Liste. Also sollte am Ende ich [[A, B, D, C] [A, C, B, D], [B, A, C, D], [D, B, C, A]]Listenindex außerhalb des Bereichs, den ich nicht sehen kann
erhaltent = -1
s = 1
y = []
final = []
path = self.path #path = [A,B,C,D]
for x in path:
y.append(path)
if s < 4: #Just ensuring to not get out of range
y[-s],y[-s-1] = y[-s-1],y[-s]
else:
y[-1],y[0] = y[0],y[-1]
final.append(y)
y = [] # So I won't create multi-dimensional list
Fehler: Listenindex außerhalb des zulässigen Bereichs
Wenn 's 3' =' -s-1 'ist -4. 'y [-4]' ist außerhalb der Grenzen. – Maroun
Es ist schon innerhalb der ersten Iteration, dass 'y [-s-1]' zu 'y [-2] 'auswertet, während' len (y) == 1' ist, so dass der Index außerhalb des Bereichs liegt. –
't' wird nie verwendet,' s' ist immer 1, aber es gibt ein 'if s <4',' y' ist leer, dann wird 1 Element hinzugefügt, dann versucht man, 2 seiner Elemente zu tauschen, wenn es ist hat nur 1 ... Ich empfehle eine vollständige Neufassung von diesem, "unnötig kompliziert" kaum anfängt, es zu beschreiben. –