Wie bekommen Sie die ersten 3 Elemente in Python OrderedDict?
Wie bekommen Sie die ersten 3 Elemente in Python OrderedDict?
Außerdem ist es möglich, Daten zu löschen, aus diesem Wörterbuch.
Zum Beispiel: Wie bekomme ich die ersten 3 Elemente in Python OrderedDict und löschen Sie den rest der Elemente?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen wir eine einfache
OrderedDict
:Zur Rücksendung der ersten drei Schlüssel, Werte oder Elemente jeweils:
Alles entfernen außer die ersten drei Elemente:
.items()
und.values()
Gegenzug Listen (zumindest in Python 2.7), so gibt es keine Notwendigkeit zu verwendenlist()
. Ist es anders in Python 3?OrderedDict(list(od.items())[:3])
zurück dict mit nur die ersten drei Elemente in einem one-liner.Können Sie diese iterative Methode, um den job zu erledigen.
Ersten, Sie nur einen Zähler-variable
x
, und weisen Sie es auf 0. Dann radeln Sie durch die Schlüssel inordered_dict
. Sehen Sie, wie viele Elemente überprüft wurden, indem Sie sehen, esx
größer als 3 ist, ist die Anzahl der Werte, die Sie möchten. Wenn 3 Sachen wurden bereits überprüft, Siedel
ete das Element ausordered_dict
.Hier ist eine sauberere, alternative Methode (Dank der Kommentare)
Dieser arbeitet mit aufzählen, zuordnen einer Zahl zu jeder Taste. Dann wird überprüft, ob diese Anzahl ist weniger als zwei (0, 1 oder 2). Wenn die Anzahl nicht 0, 1 oder 2 (dies werden die ersten drei Elemente), dann das Element in das Wörterbuch gelöscht.
enumerate
hier statt.for i, k in enumerate(odct): if i > 2: del odct[k]
Offensichtlich nicht auf einer Linie, weil das ein syntax-Fehler :pEs ist nicht anders als bei anderen dicts: