Ich habe eine Liste:
%Vor%Ich möchte 12 und 89 so austauschen, dass die Liste
aussehen sollte %Vor%Wenn ich es so mache
%Vor%Nichts wird geändert
%Vor%Aber wenn ich es so mache
%Vor%Es funktioniert perfekt
%Vor%Warum funktioniert das nicht auf die erste Art? PS: Der Grund, warum ich den ersten Weg gehen möchte, ist, dass ich das max-Element in einer Liste finden und dann mit dem ersten Element der Liste tauschen möchte.
Etwas wie:
%Vor% Kurz gesagt, lis.index(max1)
auf der linken / rechten Seite werden zu verschiedenen Zeiten ausgewertet; dann zu verschiedenen Werten ausgewertet ( 0
für die linke Seite, 4
für die rechte Seite).
Vorstehende Aussage:
(b, a)
tuple a
und b
wird
%Vor%= & gt;
%Vor%= & gt;
%Vor%= & gt;
%Vor% So lis[0]
89 zugewiesen, dann ursprünglichen Wert 0 zurück zugewiesen. = & gt; (Nur das erste Element wurde geändert und der ursprüngliche Wert wurde neu zugewiesen.)
Um dieses Problem zu vermeiden, weisen Sie den Index vor der swap-Anweisung zu:
%Vor%Tags und Links python arrays list python-3.x