19
Sto cercando di ottenere la chiave dict in cui il valore è max in tutti i valori di dict. Ho trovato due modi, entrambi non abbastanza eleganti.Ottieni la chiave dict dal valore massimo
d= {'a':2,'b':5,'c':3}
# 1st way
print [k for k in d.keys() if d[k] == max(d.values())][0]
# 2nd way
print Counter(d).most_common(1)[0][0]
C'è un approccio migliore?
Cosa succede se ci sono più chiavi? Posso passare, ad esempio, 'len' per ottenere la chiave più lunga con il maggior valore? – SiddharthaRT
@SiddharthaRT: puoi usare un 'lambda' per la chiave:' max (d, chiave = lamda k: (d [k], len (k))) 'restituirà la chiave con il valore più alto, e se ci è più di una di queste chiavi, sarà la chiave più lunga di quelle restituite. –