Versuchen Sie, einige Strings zu analysieren und berechnen Sie die Anzahl der Male, die sie auftreten. Diese Daten werden in einem Wörterbuch gespeichert. Wenn ich die Max-Funktion verwenden würde, würde nur die erste höchste gefundene Nummer gedruckt werden.So finden Sie mehrere Maxima in einem Wörterbuch
count = {"cow": 4, "moo": 4, "sheep": 1}
print(max(count.keys(), key=lambda x: count[x]))
cow
Dies würde Kuh ergeben, um das Maximum zu sein. es
from collections import defaultdict
count = {"cow": 4, "moo": 4, "sheep": 1}
d = defaultdict(list)
for animal, cnt in count.items():
d[cnt].append(animal)
print(dict(d))
# {4: ['cow', 'moo'], 1: ['sheep']}
print(max(d.items())[1])
# ['cow', 'moo']
Vielen Dank! Betrachtete die anderen Beiträge wie [this] (https://stackoverflow.com/questions/12402015/print-the-key-of-the-max-value-in-a-dictionary-the-pythonical-way) aber sie schienen nicht über mehr als ein Maximum zu sprechen. Entschuldige, dass ich neu bin! Können Sie erklären, wie der Code in der Druckfunktion funktioniert? –
@KOOTSHOOTS Sicher, wird die Antwort aktualisieren. –