Liste löschen

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
Bluecaspar
User
Beiträge: 27
Registriert: Samstag 18. März 2006, 20:06

Ich möchte alle Einträge einer Liste löschen und darauf hin wieder neu Daten einspielen,

Code: Alles auswählen

x = [1,2,4]

for i in range(len(x)):
     del x[0]
Ist zwar so möglich, aber kennt jemand einen Befehl mit dem ich das auch einfach in einer Zeile hin bekomm?
snakeseven
User
Beiträge: 408
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Gruss, Seven
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

Das letzte erstellt eine neue Liste.

Wenn Du die alte Liste behalten willst (weil Du zum Beispiel irgendwo anders eine Referenz auf diese hast) geht auch:

Code: Alles auswählen

del lst[:]
--- Heiko.
Bluecaspar
User
Beiträge: 27
Registriert: Samstag 18. März 2006, 20:06

Wenn ich die Liste neu einspiele, brauch ich die alten Daten nicht mehr. Beide Versionen erfüllen aber genauso was ich mir Wünsche, danke.
maxxle
User
Beiträge: 12
Registriert: Dienstag 12. Juli 2005, 13:54

Bin nur durch Zufall über den Thread gestolpert und wollte mal fragen, wo genau das Problem mit

x=[ ]

ist.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

maxxle hat geschrieben:Bin nur durch Zufall über den Thread gestolpert und wollte mal fragen, wo genau das Problem mit

x=[ ]

ist.
Guckst du:

Code: Alles auswählen

>>> l = [1,2,3]
>>> clone = l
>>> clone
[1, 2, 3]
>>> l[:] = ["Hello"]
>>> clone
['Hello']
>>> l = ["blub"]
>>> clone
['Hello']
Und warum? Weil eine zuweisung ein neues objekt erstellt:
Davor:

Code: Alles auswählen

>>> id(l)
-1210503124
>>> id(clone)
-1210503124
Danach:

Code: Alles auswählen

>>> id(l)
-1210503124
>>> id(clone)
-1210519572
TUFKAB – the user formerly known as blackbird
maxxle
User
Beiträge: 12
Registriert: Dienstag 12. Juli 2005, 13:54

Aha... muss man sich merken.


danke
Antworten