"extend" built-in funktioniert nicht mehr

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
LiLaLaunebär
User
Beiträge: 55
Registriert: Sonntag 11. April 2010, 14:41

hi,
diesmal ein ganz seltsames problem...die list built-ins append und extend funktionieren nicht mehr...no idea what's going on...

Code: Alles auswählen

a = [0]
b = [1,2,3,4]
print a
print b
print a.extend(b)
liefert als ausgabe:
[0]
[1, 2, 3, 4]
None

warum steht als ergebnis des extends "None"?wie kann das sein???
danke für hilfe zur ursachenfindung
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

`extend` ist ein inplace modifier, das bedeutet, dass damit das Objekt selbst verändert wird. In diesem Fall ist ein Rückgabewert auch nicht sinnvoll. Mach doch mal ein `print a` an das Ende von deinem Snippet ;)
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher

http://ms4py.org/
Barabbas
User
Beiträge: 349
Registriert: Dienstag 4. März 2008, 14:47

In [1]: a=[1,2,3]

In [2]: b=[4,5,6]

In [3]: a.extend(b)

In [4]: b
Out[4]: [4, 5, 6]

In [5]: a
Out[5]: [1, 2, 3, 4, 5, 6]
//edit: zu langsam :(
LiLaLaunebär
User
Beiträge: 55
Registriert: Sonntag 11. April 2010, 14:41

stimmt...damn...ich sollte feierabend machen...das hätte ich eig wissen müssen, aber irgwie hab ichs nicht gecheckt...danke!
Antworten