dictionary einträge einzeln 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
saiz
User
Beiträge: 10
Registriert: Dienstag 13. März 2007, 00:39

Dienstag 3. April 2007, 18:33

hallo.
ich habe ein dictionary, was den Schlüssel 'suchen' hat.
Unter 'suchen' gibt es zwei Werte: ['hans', 'peter'] !!
nun möchte ich einen eintrag davon löschen zum Beispiel 'Peter' !!
wie kann ich einen eintrag löschen, ohne das beide Werte verloren gehen ??
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Dienstag 3. April 2007, 18:36

Hoi,

Code: Alles auswählen

>>> d = {'suchen':['hans','peter']}
>>> d['suchen'].remove('peter')
>>> d
{'suchen': ['hans']}
Christian
saiz
User
Beiträge: 10
Registriert: Dienstag 13. März 2007, 00:39

Dienstag 3. April 2007, 18:39

danke schon mal...
aber ich möchte immer den ersten eintrag löschen !! d. h. ich möchte nicht immer den namen eingeben, sondern immer einfach den ersten eintrag löschen...
wie kann ich das machen ??
BlackJack

Dienstag 3. April 2007, 18:46

Das geht so:

Code: Alles auswählen

In [70]: a = { 'suchen': ['hans', 'peter'] }

In [71]: del a['suchen'][0]

In [72]: a
Out[72]: {'suchen': ['peter']}
Wenn diese Listen allerdings länger sind oder es viele davon gibt und diese Operation oft durchgeführt wird, ist es effizienter das letzte Element zu löschen. Beim ersten müssen nämlich immer alle Folgeelemente eine Position nach vorne kopiert werden.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Dienstag 3. April 2007, 18:46

saiz hat geschrieben:ich möchte immer den ersten eintrag löschen
Hi!

Code: Alles auswählen

del d["suchen"][0]
mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
saiz
User
Beiträge: 10
Registriert: Dienstag 13. März 2007, 00:39

Dienstag 3. April 2007, 18:56

danke euch....
ist zwar kein schwieriges problem gewesen aber bis ich es gelöst hätte, wär wieder ne stunde vorbei.
thx
Antworten