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

Liste löschen

Beitragvon Bluecaspar » Dienstag 28. März 2006, 20:33

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?
Benutzeravatar
snakeseven
User
Beiträge: 405
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Beitragvon snakeseven » Dienstag 28. März 2006, 20:36



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

Beitragvon modelnine » Dienstag 28. März 2006, 20:40

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

Beitragvon Bluecaspar » Dienstag 28. März 2006, 20:56

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

Beitragvon maxxle » Mittwoch 29. März 2006, 12:58

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

x=[ ]

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

Beitragvon mitsuhiko » Mittwoch 29. März 2006, 13:21

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

Beitragvon maxxle » Mittwoch 29. März 2006, 17:43

Aha... muss man sich merken.


danke

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder