Es gibt keinen technischen Grund dafür – es wäre z.B. nicht schwer eine Funktion sortList zu schreiben, die eine Liste sowohl sortiert als auch zurückgibt (probiert es). Nein, der Grund ist psychologischer Natur: Die Programmierin soll erinnert werden, dass die Methoden das Objekt selbst verändern und also auch kein neues Objekt zurückgeben – was all die String-Methoden getan haben.

Tatsächlich kommt es leicht zu Konfusion, wenn ein und dieselbe Liste von verschiedenen Variablen referenziert wird. Würden Methoden wie sort oder reverse Referenzen zurückgeben, wären wilde Anfängerfehler bereits programmiert, etwa wie im folgenden:

(Nur ein Beispiel -- so funktioniert das im realen Python nicht!)
>>> l = range(10)
>>> l1 = l.sort()
>>> l1.append("boo")
>>> print l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'boo']

Das hier angedeutete Problem kann auch beim realen Python vorkommen (vgl. Folie aliasing), aber mit weit geringerer Wahrscheinlichkeit versehentlich.