4 Stimmen

Schlüssel zum Maximum des Dictionary in Python

Ich habe ein Wörterbuch "scores" von Ganzzahlen und möchte den oder die Schlüssel mit dem höchsten Wert finden. Ich habe diesen Code verwendet:

key = max(scores, key=scores.get)

Allerdings liefert dies nur einen Schlüssel zurück. Wie wird hier mit Gleichständen beim höchsten Wert umgegangen? Ich bekomme nur eine Zahl zurück. Was passiert im Fall eines Gleichstands? Wie kann ich alle Schlüssel zum höchsten Wert bekommen? Vielen Dank für deine Hilfe.

9voto

Pascal Bugnion Punkte 4740

Sie könnten zum Beispiel Folgendes ausführen:

max_value = max(scores.values())
keys = [ i for (i,v) in scores.iteritems() if v == max_value ]

"keys" würde nun alle Schlüssel enthalten, die dem maximalen Wert entsprechen.

1voto

schlamar Punkte 8834

Die Funktion max gibt einen Wert zurück. Du könntest etwas wie dies verwenden:

key = max(scores, key=scores.get)
keys = [k for k in scores if scores[k] == scores[key]]

Bearbeitet: behoben

1voto

joaquin Punkte 77782
scores = dict(a=1,b=2,c=3,d=4,e=5,f=5)
maxscr = max(scores.values())

maxscrs =  [scr for scr in scores if scores[scr]== maxscr]

gibt:

 ['e','f']

1voto

thabubble Punkte 620
max_value = max(scores, key=scores.get)
keys = [score for score in scores if scores[score] == max_value]

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X