Wie finde ich den Maximalwert im Python-Dictionary

  1. Verwenden Sie die Methode operator.itemgetter(), um einen Schlüssel mit Maximalwert zu erhalten
  2. Verwenden Sie die Methode dict.items() für Python 3.x, um Schlüssel mit maximalem Wert im Dictionary zu erhalten
  3. Eine allgemeine und speichereffiziente Lösung, um Schlüssel mit maximalem Wert im Dictionary zu erhalten
  4. Verwenden Sie die Methoden max() und dict.get(), um einen Schlüssel mit maximalem Wert im Dictionary zu erhalten

Dieses Tutorial beschreibt, wie man einen Schlüssel mit Maximalwert in Python erhält. Es listet auch einige Beispielcodes auf, um die Konzepte zu verdeutlichen, da sich die Methode gegenüber früheren Python-Versionen geändert hat.

Verwenden Sie die Methode operator.itemgetter(), um einen Schlüssel mit Maximalwert zu erhalten

Wir brauchen keine neue Liste zu erstellen, um über das (key, value) Paar des Dictionaries zu iterieren. Wir können für diesen Zweck stats.iteritems() verwenden. Es gibt einen Iterator über das (key, value)-Paar des Dictionaries zurück.

Sie können die Methode operator.itemgetter(x) verwenden, um das aufrufbare Objekt zu erhalten, das das x-te Element aus dem Objekt zurückgibt. Da das Objekt das (key, value) Paar ist, bezieht sich operator.itemgetter(1) hier auf das Element am Index von 1, d.h. den value.

Da wir einen Schlüssel mit einem maximalen Wert wollen, werden wir die Methoden in der Funktion max kapseln.

Ein grundlegender Beispielcode für diese Methode ist unten angegeben:

import operator

stats = {'key1':20, 'key2':35, 'key3': 44}
max_key = max(stats.iteritems(), key=operator.itemgetter(1))[0]
print(max_key)

Ausgabe:

key3

Anmerkung: Selbst wenn es einen weiteren Schlüssel mit einem Wert von 44 gibt, wird diese Methode einen der beiden gleich großen Maximalwerte zurückgeben.

Beachten Sie bitte auch, dass iteritems() eine RunTimeException auslösen kann, während Elemente zum Dictionary hinzugefügt oder aus ihm entfernt werden, und dict.iteritems wird in Python 3 entfernt.

Verwenden Sie die Methode dict.items() für Python 3.x, um Schlüssel mit maximalem Wert im Dictionary zu erhalten

In Python 3.x können Sie die Methode dict.items() verwenden, um über key-value-Paare des Dictionaries zu iterieren. Es ist die gleiche Methode wie dict.iteritems() in Python 2.

Ein Beispielcode für diese Methode ist unten angegeben:

import operator

stats = {'key1':20, 'key2':35, 'key3': 44}
max_key = max(stats.items(), key=operator.itemgetter(1))[0]
print(max_key)

Ausgabe:

key3

Eine allgemeine und speichereffiziente Lösung, um Schlüssel mit maximalem Wert im Dictionary zu erhalten

Interessanterweise gibt es eine weitere Lösung, die sowohl für Python 2 als auch für Python 3 funktioniert. Die Lösung verwendet die Funktion lambda, um den Schlüssel zu erhalten, und die Methode max, um sicherzustellen, dass der erhaltene Schlüssel maximal ist.

Der Basiscode für diesen Ansatz ist unten angegeben:

import operator

stats = {'key1':20, 'key2':35, 'key3': 44}
max_key = max(stats, key=lambda key: stats[key])
print(max_key)

Ausgabe:

key3

Verwenden Sie die Methoden max() und dict.get(), um einen Schlüssel mit maximalem Wert im Dictionary zu erhalten

Eine andere Lösung für dieses Problem kann einfach die eingebaute max() Methode sein. Sie ist mit den stats versehen, um den Maximalwert zu erhalten und den key mit dem Maximalwert zurückzugeben, wird die dict.get() Methode verwendet.

Ein Beispielcode ist unten angegeben:

import operator

stats = {'key1':20, 'key2':35, 'key3': 44}
max_key = max(stats, key = stats.get)
print(max_key)

Ausgabe:

key3

Verwandter Artikel - Python Dictionary

  • Wie man Dictionarieschlüssel als Liste in Python erhält
  • Wie man zwei Wörterbücher in Python 2 und 3 zusammenführen kann