Richtige Weg, um entfernen Sie die Schlüssel im dictionary-mit Keine Werte in Python
Was ist der richtige Weg, um entfernen Sie die Schlüssel aus einem Wörterbuch mit Wert == None
in Python?
- Sie müssen klären, was Sie bedeuten, als jeder Schlüssel in einem Wörterbuch muss einen Wert haben, auch wenn dieser Wert
''
oder0
oderNone
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Regel erstellen Sie eine neue
dict
konstruiert, die von der Filterung der alte. Wörterbuch Verstehens sind ideal für diese Art der Sache:Wenn Sie muss update der original-dict, können Sie es so machen ...
Dies ist wohl die "saubere" Art und Weise, Sie zu entfernen in-place, die ich mir denken kann, (es ist nicht sicher ändern, ein dict, während Sie Durchlaufen ihn)
Verwenden
original.iteritems()
auf python2.xdict.keys
oderdict.items
?dict
ist immer unsicher, wenn Sie gehen, um sein mutiert das Wörterbuch in den Prozess. Iteration überdict.keys()
unddict.items()
ist in Ordnung, auf python2.x, aber unsicher auf Python ist3.x. Siehe stackoverflow.com/a/6777632/748858 zum Beispiel.Könnten Sie auch eine Kopie der
dict
zu vermeiden, Durchlaufen die ursprünglichendict
Weile zu ändern.Aber, dass möglicherweise nicht eine große Idee für die größeren Wörterbücher.
Für
python 2.x
:not v
wird evalute zuTrue
wennbool(v)
ausgewertetFalse
. Dies ist der Fall fürv == ''
(leerer string), zum Beispiel, die anderen sagenv == None
.Können Sie auch dies tun, indem Sie den Befehl del
Oder, wenn Sie wollen, dass diese in einer Funktion format, das Sie tun konnte: