Ich möchte aus einem dictionary alle einträge löschen, dessen Value unwahr ist. Bisher ist folgendes meine Lösung, aber da ich ja gehöhrt habe, dass deepcopy nur in ausnahmefällen verwendet werden sollte, gibt es bestimmt einen viel besseren weg?
(deepcopy wird verwendet, da ich ja nichts in einem dictionary löschen kann, über welches gerade iteriert wird)
Code: Alles auswählen
params = ["spam":"","eggs":1,"appel":0]
newparams = deepcopy(params)
for key,value in params.items():
if not value: # unwahre (dazu geört auch "") eintraege löschen
del newparams[key]