@Beginner123: bei `remove` kennst Du schon das Element, das aus der Liste entfernt werden soll, dann das ist das, das Du als Argument übergibst. Bei ›L.remove(5)‹ ist die 5 schon bekannt, was soll es helfen, wenn die 5 auch noch als Rückgabewert zurückgegeben wird?
Dein Beispiel sollte also besser so aussehen:
Code: Alles auswählen
def test(L):
"""removes 5 from the list L"""
x = 5
L.remove(x)
print(x)
Funktionen, die ein Objekt verändern, das sie als Argument bekommen, sollten das in ihrer Dokumentation deutlich machen. Wenn möglich (sinnvoll), solche Funktionen vermeiden, besser eine neue, veränderte Liste zurückgeben. Erwartung ist, wenn eine Funktion eine Liste als Rückgabewert hat, dann wurde die übergebene Liste NICHT verändert. Wenn die Funktion keinen Rückgabewert hat, dann ja, denn wo soll sonst das Ergebnis stehen. Vergleiche list.sort und sorted.
Allgemein: eingerückt wird immer mit 4 Leerzeichen pro Ebene, nicht mit Tabs; jeder Editor läßt sich so einstellen, dass beim Drücken der Tab-Taste 4 Leerzeichen ausgegeben werden. Variablennamen werden klein geschrieben und sind aussagekräftig. Einbuchstabige Variablennamen nur in sehr engen Kontexten benutzen (List-Comprehension, ...)