Holen Sie sich mehrere maximale Schlüssel im Python-Wörterbuchtyp

Was du machen willst

Ein Wörterbuch mit mehreren Maximalwerten

d = {
  'a': 1,
  'b': 2,
  'c': 3,
  'd': 3,
  'e': 2
}

Ich möchte verarbeiten, um mehrere Schlüssel zu erhalten ([c, d] in diesem Fall)

Implementierung (hinzugefügt am 24. Juli 2017)

Von @shiracamus

Ist es nicht einfacher, Numpy nicht zu verwenden?

by_shiracamus.py


d = {
  'a': 1,
  'b': 2,
  'c': 3,
  'd': 3,
  'e': 2
}

#Suchen Sie den Schlüssel, dessen Wert max
max_val = max(d.values())
keys_of_max_val = [key for key in d if d[key] == max_val]

print(keys_of_max_val)

wunderschönen! keys_of_max_val = [Schlüssel für Schlüssel, Wert in d.items () wenn val == max_val] Ich mag das Aussehen, aber was ist mit der Geschwindigkeit ... Lassen Sie es uns auch in Ihrer Freizeit überprüfen ...

Der vorherige

import numpy as np

d = {
  'a': 1,
  'b': 2,
  'c': 3,
  'd': 3,
  'e': 2
}

#Holen Sie sich den Schlüssel mit ndarray
keys = np.array([a[0] for a in d.items()])

#Holen Sie sich Wert mit ndarray
values = np.array([a[1] for a in d.items()])

#Suchen Sie den Schlüssel, dessen Wert max
keys_of_max_val = keys[values == values.max()]

print(keys_of_max_val)

Ich bin nicht an die Einschlussnotation gewöhnt!

erledigt

['c' 'd']

Impressionen

Wenn es nur einen Maximalwert gibt

key_of_max_val = max(d.items(), key=(lambda x: x[1]))[0]

Auch wenn Sie es mit bekommen können, wenn es viele Maximalwerte gibt, wird es so schnell wie möglich problematisch.

Recommended Posts

Holen Sie sich mehrere maximale Schlüssel im Python-Wörterbuchtyp
Wenn Sie mehrere Schlüssel in Python-Sortierung angeben
So erhalten Sie Elemente vom Typ Wörterbuch von Python 2.7
Holen Sie sich Datum in Python
[Python-Tipps] So rufen Sie mehrere Schlüssel mit dem Maximalwert aus dem Wörterbuch ab
Praktische Technik zum Übergeben von Argumenten in Python (Taple, Wörterbuchtyp)
Holen Sie sich YouTube-Kommentare in Python
Mehrfacher Regressionsausdruck in Python
Erstellen Sie ein Wörterbuch in Python
Holen Sie sich letzten Monat in Python
Holen Sie sich die Terminalgröße in Python
Holen Sie sich explizit EOF in Python
Vermeiden Sie KeyError im Python-Wörterbuch
Vermeiden Sie mehrere Schleifen in Python
Holen Sie sich Evernote-Notizen in Python
Python> Wörterbuch> get ()> optionaler Wert
Holen Sie sich japanische Synonyme mit Python
Holen Sie sich den MIME-Typ in Python und bestimmen Sie das Dateiformat
So erhalten Sie alle Schlüssel und Werte im Wörterbuch
Extrahieren Sie mehrere Listenduplikate in Python
Holen Sie sich LeapMotion-Daten in Python.
[Python] Mit Tkinter mehrere Fenster anzeigen
Definition des Funktionsargumenttyps in Python
Holen Sie sich den Desktop-Pfad in Python
Laden Sie JSON-Typen dynamisch mit Python
Holen Sie sich den Skriptpfad in Python
Typ in Python angegeben. Ausnahmen auslösen
Holen Sie sich ein Kommunikationsmemo in Python
Statistischer Test (Mehrfachtest) in Python: scikit_posthocs
Holen Sie sich den Desktop-Pfad in Python
Holen Sie sich den Hostnamen in Python
Löschen Sie mehrere Elemente in der Python-Liste
Python für Super-Anfänger Super-Anfänger Python # Wörterbuch Typ 2
Beginnen Sie mit Python mit Blender
Projekt Euler # 4 "Maximale Kalligraphie" in Python
Behandeln Sie mehrere Python-Versionen in einem Jupyter
Holen Sie sich mit Python zusätzliche Daten zu LDAP
Python> Wörterbuch> Werte ()> Alle Werte mithilfe von Werten abrufen ()
Projekt Euler # 3 "Maximale Primfaktoren" in Python
Holen Sie sich Suica Balance in Python (mit libpafe)
Projekt Euler # 11 "Maximales Produkt im Raster" in Python
Senden Sie mit Python (Python3) E-Mails an mehrere Empfänger.
Geben Sie Anmerkungen für Python2 in Stub-Dateien ein!
Wörterbuchtyp 2
Holen Sie sich Google Fit API-Daten in Python
Wörterbuchtyp 1
Wie bekomme ich Stacktrace in Python?
Holen Sie sich Youtube-Daten in Python mithilfe der Youtube-Daten-API
Python / Wörterbuch> setdefault ()> Hinzufügen, wenn nicht im Wörterbuch
Hash in Perl ist ein Wörterbuch in Python
Verarbeiten Sie mehrere Listen mit for in Python
[Python] Twitter-Timeline für mehrere Benutzer abrufen
Holen Sie sich den Batteriestand von SwitchBot mit Python
[Einführung in die Udemy Python3 + -Anwendung] 24. Wörterbuchtyp
Holen Sie sich ein Zeichen für Conoha mit Python
Beginnen wir mit TopCoder in Python (Version 2020)
Python-Wörterbuch
Lösen Sie das maximale Subarray-Problem in Python