Mit Python ist max zurück zu kehren zwei gleich große Werte

Ich bin mit Python max Funktion zu finden, die größte ganze Zahl, die im Wörterbuch genannt count, und die entsprechende Taste (nicht ganz sicher, ob ich sage, es richtig; mein code wahrscheinlich erklärt sich besser, als ich es bin, erklärt Sie). Das Wörterbuch count ist entlang der Linien von {'a': 100, 'b': 210}, und so weiter.

number = count[max(count.items(), key=operator.itemgetter(1))[0]]
highest = max(count, key=count.get)

Was würde ich tun, wenn gab es gleich zwei größten Werte? Wenn ich {'a': 120, 'b': 120, 'c': 100} würde, würde dies nur die erste von a und b werden, nicht beide.

Was Sie tun, scheint zu Komplex. Fox Beispiel: number = max(count.values()).
Ich kann nicht widerstehen, one-liners für diese Art von Fragen highest, number = reduce(lambda a, b:a[0].append(b[0]) or (a[0], b[1]) if b[1] == a[1] else (([b[0]], b[1]) if b[1] > a[1] else a), count.iteritems(), ([], -1))

InformationsquelleAutor kidosu | 2012-03-24

Schreibe einen Kommentar