[Astuces Python] Comment récupérer plusieurs clés avec la valeur maximale du dictionnaire

ABC155 C --Poller avait un problème qui pouvait être résolu avec un tableau associatif, mais je ne pouvais pas bien écrire le titre, j'ai donc pris une note.

On suppose qu'il existe plusieurs clés avec la valeur maximale. (Mis à jour le 19 février 2020)

dic_max.py


#Initialisation appropriée du dictionnaire
d = {}
d["k1"] = 10
d["k2"] = 20
print(d)
# {'k1': 10, 'k2': 20}

dic_max.py


#Traitement pour récupérer la valeur maximale de valeur dans le dictionnaire d-> max(d.values())
max_val = max(d.values())
print(d.values())
print(max(d.values()))
# dict_values([10, 20])
# 20

#C'est une erreur
# print(d.value[0])
# TypeError: 'dict_values' object does not support indexing

dic_max.py


#Pré-traitement pour clé en main et valeur avec instruction for-> d.items()
print(d.items())
# dict_items([('k1', 10), ('k2', 20)])

#C'est une erreur
# 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)])Dès la première boucle
# kv = ('k1', 10)Peut être retiré comme(kv[0] = 'k1'、kv[1] = 10)。
# kv[1] == max_Ce n'est que lorsque val a la même valeur que la valeur maximale, kv est ajouté à la liste.[0](=key)ajouter à
#Idem pour la deuxième fois et les suivantes


#Pour les listes et les taples*Spécifiez comme argument avec->Développé et chaque élément est passé individuellement
print(*max_k_ls)
# k2

Site de référence

AtCoder Beginner Contest 155 Obtenir la valeur maximale / minimale du dictionnaire et sa clé en Python

Postscript

Méthode conseillée dans les commentaires @shiracamus @konandoiruasa @nkay Merci beaucoup.

・ Lorsque la valeur maximale de la clé n'est pas couverte

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

・ Méthode utilisant des 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

[Astuces Python] Comment récupérer plusieurs clés avec la valeur maximale du dictionnaire
Comment récupérer la nième plus grande valeur en Python
[Python] Comment dessiner plusieurs graphiques avec Matplotlib
Obtenez plusieurs clés maximales dans le type de dictionnaire Python
[Python] Comment supprimer les valeurs en double de la liste
Comment récupérer des données d'image de Flickr avec Python
[Introduction à Python] Comment itérer avec la fonction range?
[Python] Comment spécifier l'emplacement de téléchargement avec youtube-dl
[Introduction à Udemy Python3 + Application] 27. Comment utiliser le dictionnaire
Comment récupérer plusieurs tableaux à l'aide de slice en python.
[Python] Comment réécrire le style de table avec python-pptx [python-pptx]
J'ai essayé de simuler la propagation de l'infection avec Python
[python] Comment vérifier si la clé existe dans le dictionnaire
Comment découper un bloc de plusieurs tableaux à partir d'un multiple en Python
Comment convertir un tableau en dictionnaire avec Python [Application]
[python] Résumé de la récupération des listes et des éléments du dictionnaire
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Comment obtenir toutes les clés et valeurs du dictionnaire
Comment entrer dans l'environnement de développement Python avec Vagrant
[Introduction à Python] Comment obtenir des données avec la fonction listdir
Extraire la valeur la plus proche d'une valeur à partir d'un élément de liste en Python
Comment gratter le cours d'une action individuelle du site Web Nikkei Shimbun avec Python
Comment vérifier si le contenu du dictionnaire est le même en Python par valeur de hachage
Comment connaître le nombre de GPU de python ~ Remarques sur l'utilisation du multitraitement avec pytorch ~
Python: comment utiliser async avec
Extraire la valeur maximale avec les pandas.
Remplacez la valeur du dictionnaire par Python> update ()
Comment obtenir la version Python
Comment démarrer avec Python
Comment calculer la date avec python
Comment accéder à wikipedia depuis python
Comment obtenir des abonnés et des abonnés de Python à l'aide de l'API Mastodon
Comment vérifier la taille de la mémoire d'un dictionnaire en Python
Astuces: [Python] Calculez la valeur moyenne de la zone spécifiée avec bedgraph
De l'introduction de JUMAN ++ à l'analyse morphologique du japonais avec Python
Comment envoyer une requête à l'API DMM (FANZA) avec python
Comment gérer le problème du déplacement du répertoire actuel lorsque Python est exécuté depuis Atom
Trouvons la valeur maximale python (correction ver)
Le 16ème problème d'écriture en temps réel hors ligne a été résolu avec Python
Comment titrer plusieurs figures avec matplotlib
[Python] Qu'est-ce qu'un argument formel? Comment définir la valeur initiale
Comment couper la partie inférieure droite de l'image avec Python OpenCV
[Introduction à Udemy Python3 + Application] 47. Traitez le dictionnaire avec une instruction for
Comment mettre à jour Google Sheets à partir de Python
Comment gérer l'erreur OAuth2 lors de l'utilisation des API Google à partir de Python
Comment obtenir la différence de date et d'heure en secondes avec Python
Comment utiliser le multicœur du point de vue de plusieurs langues
Comment utiliser BigQuery en Python
[Introduction à Python] Comment trier efficacement le contenu d'une liste avec le tri par liste
Comment obtenir la valeur du magasin de paramètres dans lambda (en utilisant python)
Utilisez .flatten () [0] de numpy pour récupérer la valeur
Comment faire un test de sac avec python
Comment afficher le japonais python avec lolipop
Comment accéder à RDS depuis Lambda (python)
Comment faire fonctionner Linux depuis la console
[Python] Comment utiliser la liste 2 Référence de la valeur de la liste, nombre d'éléments, valeur maximale, valeur minimale
[Python] Comment définir la taille de la fenêtre (cliente) dans le navigateur avec Selenium