Python Sorty Dictionary nach Wert

Python Sorty Dictionary nach Wert
In Python bezieht sich ein Wörterbuch auf eine ungeordnete Sammlung von Elementen in Form von Schlüsselwertpaaren.

Wörterbücher sind hilfreich bei der Speicherung kartierter Daten, da jeder Schlüssel seinem entsprechenden Wert zugeordnet ist.

Obwohl Wörterbücher nicht in Ordnung sind, werden Wörterbücher sortiert mithilfe Bestellung einfügen In jüngsten Versionen von Python.

Lassen Sie uns lernen, wie wir ein Wörterbuch basierend auf Werten sortieren können.

Python sortierte Funktion

Wir können die verwenden sortiert () Funktionieren Sie ein Wörterbuch nach Wert. Die Funktionssyntax ist im Folgenden dargestellt:

sortiert (iterable, key = keine, reverse = false)

Die Funktionsparameter sind unten angezeigt:

  1. wiederholbar - bezieht sich auf ein iterables Objekt wie ein Wörterbuch, eine Liste usw.
  2. Taste - bezieht sich auf eine Funktion, die als Schlüssel für die Sortierung fungiert
  3. umkehren - Ermöglicht die Funktion die Iterable in umgekehrter Reihenfolge

Wir können die sortierte Funktion verwenden, um ein Wörterbuch nach Wert zu sortieren, wie im folgenden Beispiel gezeigt:

db =
'MySQL': 1000,
'Postgresql': 20000,
'MongoDB': 250,
'Sqlite': 100,
'Redis': 5000

sorted_values ​​= sortiert (dB.items (), key = lambda x: x [1], reverse = true)

Im vorherigen Beispielcode erstellen wir zunächst das Wörterbuch, das wir sortieren möchten. Das Wörterbuch hält den Datenbanktyp als Schlüssel und die Anzahl der Datensätze als Wert.

Wir verwenden dann die sortiert () Funktionieren Sie, um die Elemente in unserem Wörterbuch zu sortieren. Endlich, das db.ITMES Die Funktion ermöglicht es uns, die Werte des Wörterbuchs als iterable Liste zu erhalten.

Dadurch wird die Notwendigkeit von uns entfernt, die Werte nach den Indexpositionen zu verweisen.

Wir bieten eine anonyme Funktion im Schlüsselparameter, mit dem wir die Werte aus der Liste sortieren können.

Da wir möchten, dass unsere Daten vom größten bis kleinsten sortiert werden, setzen wir den umgekehrten Parameter auf „true“ fest.

Jetzt sollte der vorherige Code eine Liste mit den sortierten Werten zurückgeben. Um auf die Elemente zuzugreifen, können wir den folgenden Code für die Schleife verwenden:

für ich In sorted_values:

print (i [0], i [1])

Hier, Index 0 der Liste repräsentiert den Schlüssel des Wörterbuchs während Index 1 repräsentiert den Wert.

Der vorherige Code sollte wie unten gezeigt zurückgeben:

PostgreSQL 20000
Redis 5000
MySQL 1000
MongoDB 250
Sqlite 100

Sortieren Sie die Funktion mit ItemGetter

Das Python -Operator -Modul bietet uns das ItemGgerTter () Funktion und ermöglicht es uns, ein Callable -Objekt zu erhalten, das ein Element aus dem angegebenen Operand abruft.

In einfachen Worten die ItemGetter (n) Die Funktion erstellt ein abrufbares Objekt und holt das n -te Element (Index) ab.

Zum Beispiel:

Operator.ItemGetter (3) ('abcdefg')

Die obige Funktion wird das Element im dritten Index aus der bereitgestellten Zeichenfolge abgerufen. Die Funktion funktioniert mit jedem iterablen Objekt wie Listen, Tupeln, Wörterbüchern usw.

Wir können das kombinieren ItemGgerTter () Funktionieren Sie die Werte in einem Wörterbuch, wie im folgenden Beispiel gezeigt:

vom Bedienerimportartikelgetter
tup = sortiert (dB.items (), key = itemGetter (1))
Sorted_values ​​= Schlüssel: Wert für Schlüssel, Wert in TUP
print (sorted_values)

Wir beginnen mit dem Importieren der ItemGetter -Funktion aus dem Bedienermodul im vorherigen Code.

Als nächstes benutzen wir die db.Artikel() Funktion, um die Schlüsselwertpaare als Tupelliste zu erhalten. Um nur die Werte abzurufen, verwenden wir die ElementGerTter -Funktion und übergeben den Index von 1 als Parameter.

Dies sollte die Werte des Wörterbuchs zurückgeben.

Sobald wir die Liste sortiert haben, können wir sie itererieren und ein neues Wörterbuch aus den sortierten Werten erstellen.

Dies sollte ein sortiertes Wörterbuch zurückgeben, wie in Folgendes gezeigt:

'Sqlite': 100, 'mongodb': 250, 'mysql': 1000, 'Redis': 5000, 'postgreSQL': 20000

Beachten.

Abschluss

Dieser Artikel zeigt die Methoden zur Sortierung eines Wörterbuchs nach Werten. Verwendung der sortiert () Funktion können Sie den umgekehrten Parameter auf "False" festlegen, um das Wörterbuch in aufsteigender Reihenfolge zu sortieren.