[Python-Tipps] So rufen Sie mehrere Schlüssel mit dem Maximalwert aus dem Wörterbuch ab

ABC155 C --Poller hatte ein Problem, das mit einem assoziativen Array gelöst werden konnte, aber ich konnte den Titel nicht gut schreiben, also machte ich mir eine Notiz.

Es wird davon ausgegangen, dass es mehrere Schlüssel mit dem Maximalwert gibt. (Aktualisiert am 19. Februar 2020)

dic_max.py


#Angemessene Wörterbuchinitialisierung
d = {}
d["k1"] = 10
d["k2"] = 20
print(d)
# {'k1': 10, 'k2': 20}

dic_max.py


#Verarbeitung zum Abrufen des Maximalwerts des Werts im Wörterbuch d-> max(d.values())
max_val = max(d.values())
print(d.values())
print(max(d.values()))
# dict_values([10, 20])
# 20

#Dies ist ein Fehler
# print(d.value[0])
# TypeError: 'dict_values' object does not support indexing

dic_max.py


#Vorverarbeitung, um Schlüssel und Wert mit for-Anweisung zu drehen-> d.items()
print(d.items())
# dict_items([('k1', 10), ('k2', 20)])

#Dies ist ein Fehler
# print(d_i[0])
# TypeError: 'dict_items' object does not support indexing

dic_max.py


max_k_ls = [kv[0] for kv in d.items() if kv[1]==max_val]
# d.items() = dict_items([('k1', 10), ('k2', 20)])Aus der ersten Schleife
# kv = ('k1', 10)Kann als herausgenommen werden(kv[0] = 'k1'、kv[1] = 10)。
# kv[1] == max_Nur wenn val den gleichen Wert wie der Maximalwert hat, wird kv zur Liste hinzugefügt.[0](=key)hinzufügen
#Gleiches gilt für das zweite und nachfolgende Mal


#Für Listen und Taples*Geben Sie als Argument mit an->Erweitert und jedes Element wird einzeln übergeben
print(*max_k_ls)
# k2

Referenzseite

AtCoder Beginner Contest 155 Ermitteln Sie den Maximal- / Minimalwert des Wörterbuchs und seines Schlüssels in Python

Nachtrag

Methode in den Kommentaren empfohlen @ Shiracamus @konandoiruasa @nkay Vielen Dank.

・ Wenn der Maximalwert des Schlüssels nicht abgedeckt ist

>>> d = {"k1": 10, "k2": 20}
>>> d
{'k1': 10, 'k2': 20}
>>> max(d, key=lambda k: d[k])
'k2'

・ Methode mit Pandas

>>> import pandas as pd
>>> import numpy as np
>>> d = {"k1": 10, "k2": 20, "k3": 20}
>>> df = pd.DataFrame([d])
>>> list(df.columns[np.where(df.iloc[0] == df.iloc[0].max())])
['k2', 'k3']

Recommended Posts

[Python-Tipps] So rufen Sie mehrere Schlüssel mit dem Maximalwert aus dem Wörterbuch ab
So rufen Sie den n-ten größten Wert in Python ab
[Python] Zeichnen mehrerer Diagramme mit Matplotlib
Holen Sie sich mehrere maximale Schlüssel im Python-Wörterbuchtyp
[Python] So entfernen Sie doppelte Werte aus der Liste
So kratzen Sie Bilddaten von Flickr mit Python
[Einführung in Python] Wie iteriere ich mit der Bereichsfunktion?
[Python] So legen Sie den Download-Speicherort mit youtube-dl fest
[Einführung in die Udemy Python3 + -Anwendung] 27. Verwendung des Wörterbuchs
So rufen Sie mehrere Arrays mit Slice in Python ab.
[Python] So schreiben Sie den Tabellenstil mit python-pptx um [python-pptx]
Ich habe versucht zu simulieren, wie sich die Infektion mit Python ausbreitet
[Python] So überprüfen Sie, ob der Schlüssel im Wörterbuch vorhanden ist
So schneiden Sie ein Block-Multiple-Array aus einem Multiple-Array in Python
So konvertieren Sie mit Python [Anwendung] von einem Array in ein Wörterbuch
[Python] Zusammenfassung zum Abrufen von Listen und Wörterbuchelementen
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
So erhalten Sie alle Schlüssel und Werte im Wörterbuch
So gelangen Sie mit Vagrant in die Python-Entwicklungsumgebung
[Einführung in Python] So erhalten Sie Daten mit der Funktion listdir
Extrahieren Sie den Wert, der einem Wert am nächsten kommt, aus einem Listenelement in Python
So kratzen Sie mit Python den Aktienkurs einer einzelnen Aktie von der Nikkei Shimbun-Website
So überprüfen Sie anhand des Hashwerts, ob der Inhalt des Wörterbuchs in Python identisch ist
Wie man die Anzahl der GPUs aus Python kennt ~ Hinweise zur Verwendung von Multiprocessing mit pytorch ~
Python: So verwenden Sie Async mit
Extrahieren Sie den Maximalwert mit Pandas.
Ersetzen Sie den Wörterbuchwert durch Python> update ()
So erhalten Sie die Python-Version
Erste Schritte mit Python
So berechnen Sie das Datum mit Python
So greifen Sie über Python auf Wikipedia zu
So erhalten Sie mithilfe der Mastodon-API Follower und Follower von Python
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
Tipps: [Python] Berechnen Sie den Durchschnittswert des angegebenen Bereichs mit Bedgraph
Von der Einführung von JUMAN ++ bis zur morphologischen Analyse von Japanisch mit Python
So senden Sie eine Anfrage mit Python an die DMM (FANZA) -API
So gehen Sie mit dem Problem um, dass das aktuelle Verzeichnis verschoben wird, wenn Python von Atom ausgeführt wird
Lassen Sie uns den Maximalwert Python finden (Korrektur ver)
Das 16. Offline-Echtzeit-Schreibproblem wurde mit Python gelöst
Wie man mit matplotlib mehrere Figuren betitelt
[Python] Was ist ein formales Argument? So stellen Sie den Anfangswert ein
So schneiden Sie den unteren rechten Teil des Bildes mit Python OpenCV
[Einführung in die Udemy Python3 + -Anwendung] 47. Verarbeiten Sie das Wörterbuch mit einer for-Anweisung
So aktualisieren Sie Google Sheets von Python
Umgang mit OAuth2-Fehlern bei Verwendung von Google APIs aus Python
So ermitteln Sie mit Python den Unterschied zwischen Datum und Uhrzeit in Sekunden
Verwendung von Multi-Core aus der Sicht mehrerer Sprachen
So arbeiten Sie mit BigQuery in Python
[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung
So erhalten Sie den Wert aus dem Parameterspeicher in Lambda (mit Python)
Verwenden Sie numpys .flatten () [0], um den Wert abzurufen
Wie man einen Taschentest mit Python macht
So zeigen Sie Python-Japanisch mit Lolipop an
Zugriff auf RDS von Lambda (Python)
So bedienen Sie Linux von der Konsole aus
[Python] Verwendung von Liste 2 Referenz des Listenwerts, der Anzahl der Elemente, des Maximalwerts und des Minimalwerts
[Python] So stellen Sie mit Selenium die (Client-) Fenstergröße im Browser ein