Python3 Listen Verständnisproblem

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
KombatElWombat
User
Beiträge: 5
Registriert: Donnerstag 8. März 2018, 20:15

Donnerstag 8. März 2018, 20:26

Hallo zusammen, ich bin ein wirklich blutiger Neuling im bereich Python Programmierung und bin auf ein Problem gestoßen, das ich mir nicht erklären kann. Auch finde ich nichts dazu, wahrscheinlich weil es total blödsinning ist und es eh keiner Macht. Tortzdem hätte ich es gern verstanden. Es würde mich freuen wenn ihr mir weiter helfen könntet.

wie das hier funktioniert und was es ausgibt ist mir klar.

Code: Alles auswählen

l = [1,2,3]
l.remove(1)
print(l)
Allerdings, warum diese beiden hier:

Code: Alles auswählen

l = [1,2,3].remove(3)
print(l)

Code: Alles auswählen

l = [1,2,3].append(4)
print(l)
"None" ausgeben versteh ich nicht.
narpfel
User
Beiträge: 202
Registriert: Freitag 20. Oktober 2017, 16:10

Donnerstag 8. März 2018, 20:38

@KombatElWombat: Üblicherweise haben Methoden, die Objekte verändern, keinen Rückgabewert (und „kein Rückgabewert“ heißt in Python, dass `None` zurückgegeben wird). Sie verändern ja nur das Objekt, und das hast du schon. Es gibt also nicht wirklich einen sinnvollen Rückgabewert.

Deine letzten beiden Beispiele lassen sich verstehen als „Erstelle eine temporäre Liste, die nach Abarbeitung dieses Statements wieder verschwindet, entferne/füge ein Element hinzu, und binde den Rückgabewert der Methode (`None`) an den Namen `l`“. Das Listenobjekt wird also verändert, aber weil es keinen Namen hat, kann niemand darauf zugreifen.
KombatElWombat
User
Beiträge: 5
Registriert: Donnerstag 8. März 2018, 20:15

Donnerstag 8. März 2018, 21:00

aaaaaaaaah, kapiert! Danke vielmals!
Antworten