Python-Dokument sagt, dass das Schneiden einer Liste eine neue Liste zurückgibt.
Wenn nun eine "neue" Liste zurückgegeben wird, habe ich die folgenden Zweifel in Bezug auf "Zuordnung zu Slices".
a = [1, 2, 3]
a[0:2] = [4, 5]
print a
Jetzt wäre die Ausgabe:
[4, 5, 3]
- Wie kann etwas, das etwas zurückgibt, auf die linke Seite des Ausdrucks kommen?
- Ja, ich habe die Dokumente gelesen und es heißt, dass dies möglich ist. Da das Schneiden einer Liste eine "neue" Liste zurückgibt, warum wird die ursprüngliche Liste geändert? Ich kann die Mechanik dahinter nicht verstehen.
a[0] = 4
tun würde?
=
Anstatt dies als ungültige Syntax zu verwerfen, verwandelt Python es in etwas, das eher dem entspricht, was Sie vielleicht erwarten. Da Python keine Referenzen hat, würde es nicht funktionieren, wenn das Ergebnis eines Slice die ursprüngliche Liste ändert. Du bekommst eine Kopie. Wenn Sie weitere Informationen zu Ihrer Anwendung angegeben haben, können wir Ihnen möglicherweise besser dabei helfen, die Dinge auf "pythonische" Weise zu erledigen. :)