Obtenez plusieurs clés maximales dans le type de dictionnaire Python

Chose que tu veux faire

Un dictionnaire avec plusieurs valeurs maximales

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

Je veux traiter pour obtenir plusieurs clés ([c, d] dans ce cas)

Mise en œuvre (ajoutée le 24 juillet 2017)

De @shiracamus

N'est-il pas plus simple de ne pas utiliser numpy?

by_shiracamus.py


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

#Trouvez la clé dont la valeur est 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)

beau! keys_of_max_val = [clé pour clé, val dans d.items () if val == max_val] J'aime le look, mais qu'en est-il de la vitesse ... Vérifions-le même pendant votre temps libre ...

Le précédent

import numpy as np

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

#Obtenir la clé avec ndarray
keys = np.array([a[0] for a in d.items()])

#Obtenez de la valeur avec ndarray
values = np.array([a[1] for a in d.items()])

#Trouvez la clé dont la valeur est max
keys_of_max_val = keys[values == values.max()]

print(keys_of_max_val)

Je ne suis pas habitué à la notation d'inclusion!

l'a fait

['c' 'd']

Impressions

Lorsqu'il n'y a qu'une seule valeur maximale

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

Même si vous pouvez l'obtenir avec, s'il y a de nombreuses valeurs maximales, cela deviendra gênant dès que possible.

Recommended Posts

Obtenez plusieurs clés maximales dans le type de dictionnaire Python
Lors de la spécification de plusieurs clés dans le tri python
Comment obtenir des éléments de type dictionnaire de Python 2.7
Obtenir la date en Python
[Astuces Python] Comment récupérer plusieurs clés avec la valeur maximale du dictionnaire
Technique pratique pour passer des arguments en Python (taple, type dictionnaire)
Obtenez des commentaires YouTube en Python
Expression de régression multiple en Python
Créer un dictionnaire en Python
Obtenez le mois dernier en Python
Obtenir la taille du terminal en Python
Obtenir explicitement EOF en python
Évitez KeyError dans le dictionnaire python
Évitez les boucles multiples en Python
Obtenez des notes Evernote en Python
Python> dictionnaire> get ()> valeur facultative
Obtenez des synonymes japonais avec Python
Obtenez le type MIME en Python et déterminez le format de fichier
Comment obtenir toutes les clés et valeurs du dictionnaire
Extraire plusieurs doublons de liste en Python
Obtenez des données LeapMotion en Python.
[Python] Afficher plusieurs fenêtres avec Tkinter
Définition du type d'argument de fonction en python
Obtenir des données de Quandl en Python
Obtenez le chemin du bureau en Python
Charger dynamiquement les types json avec python
Obtenez le chemin du script en Python
Type spécifié en python. Lancer des exceptions
Obtenir, publier un mémo de communication en Python
Test statistique (test multiple) en Python: scikit_posthocs
Obtenez le chemin du bureau en Python
Obtenez le nom d'hôte en Python
Supprimer plusieurs éléments dans la liste python
Python pour les super débutants Super débutants Python # dictionnaire type 2
Démarrez avec Python avec Blender
Projet Euler # 4 "Calligraphie maximum" en Python
Gérez plusieurs versions de python en un seul jupyter
Obtenez des données supplémentaires vers LDAP avec python
Python> dictionnaire> values ()> Obtenir toutes les valeurs à l'aide de values ()
Projet Euler # 3 "Maximum Prime Factors" en Python
Obtenir l'équilibre Suica en Python (en utilisant libpafe)
Projet Euler # 11 "Produit maximum dans la grille" en Python
Envoyer des e-mails à plusieurs destinataires avec Python (Python3)
Tapez les annotations pour Python2 dans les fichiers stub!
Dictionnaire type 2
Obtenez les données de l'API Google Fit en Python
Type de dictionnaire 1
Comment obtenir stacktrace en python
Obtenez des données Youtube en Python à l'aide de l'API Youtube Data
Python / dictionary> setdefault ()> Ajouter si pas dans le dictionnaire
Hash en Perl est un dictionnaire en Python
Traiter plusieurs listes avec for en Python
[python] Obtenir la chronologie Twitter pour plusieurs utilisateurs
Obtenez le niveau de la batterie de SwitchBot avec Python
[Introduction à l'application Udemy Python3 +] 24. Type de dictionnaire
Obtenez un jeton pour conoha avec python
Commençons avec TopCoder en Python (version 2020)
Dictionnaire Python
Résolvez le problème maximum de sous-tableau en Python