Wie man alle Schlüssel mit dem gleichen höchsten Wert?
Wenn ich ein dictionary mit den entsprechenden Frequenz-Werte:
numbers = {a: 1, b: 4, c: 1, d: 3, e: 3}
Zu finden, das höchste, was ich weiß ist:
mode = max(numbers, key=numbers.get)
print mode
und druckt:
b
Aber wenn ich habe:
numbers = {a: 1, b: 0, c: 1, d: 3, e: 3}
und wenden Sie die 'max' - Funktion oben, der Ausgang ist:
d
Was ich brauche, ist:
d,e
Oder etwas ähnliches, die Anzeige der beiden Tasten.
InformationsquelleAutor Shoryu | 2014-09-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Drucke
was es tut, ist, die Schleife über alle Einträge über
.iteritems
und dann prüfen, ob der Wert das maximum, und wenn ja, fügen Sie den Schlüssel in einer Liste.max
wird erneut berechnet und wieder für jeden Schlüssel gibt es O(n2). Besser lagern Sie die max in einer Variablen, bevor das Verständnis.InformationsquelleAutor xoryouyou
Dieser code funktioniert in O(n). O(n) bei der Suche nach Maximalwert und O(n) in der Liste erfassen. Also insgesamt wird es bleiben O(n).
Hinweis : O(2n) entspricht O(n).
InformationsquelleAutor Taohidul Islam