5 Maximalwerte in einem Python-Wörterbuch
Habe ich ein Wörterbuch wie dieses:
A = {'a':10, 'b':843, 'c': 39,.....}
Möchte ich, um die 5 höchsten Werte dieses dict und speichern ein neues dict mit diesem. Den maximalen Wert, den ich gemacht habe:
max(A.iteritems(), key=operator.itemgetter(1))[0:]
Vielleicht ist es eine leichte Aufgabe, aber ich bin stecken, es für eine lange Zeit. Bitte um Hilfe!!!!
InformationsquelleAutor der Frage Alejandro | 2011-08-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie in der Nähe. Sie können Art die Liste mit
sortiert
[docs] und nehmen Sie die ersten fünf Elemente:Siehe auch: Python-Sortierung HowTo
InformationsquelleAutor der Antwort Felix Kling
Nicht zu benutzen brauchen iteritems und itemgetter. Die dict eigene get-Methode funktioniert gut.
Ebenso für die Sortierung:
Schließlich, wenn die dict-Größe ist unbegrenzt, mit einem Haufen wird schließlich schneller sein als eine volle Sortieren.
Für mehr Informationen, schauen Sie auf der
heapq
- Dokumentation.InformationsquelleAutor der Antwort A. Coady
Könnten Sie Sammlungen.Zähler hier:
dict(Counter(A).most_common(5))
Beispiel:
InformationsquelleAutor der Antwort Akavall
Versuchen Sie dies:
InformationsquelleAutor der Antwort Gerrat