19
Tüm dict değerlerinde değerinin maksimum olduğu yerde dict anahtar almaya çalışıyorum. İki yol buldum, her ikisi de yeterince zarif değil.Dikte anahtarını maksimum değere getirin
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]
Daha iyi bir yaklaşım var mı?
Birden çok anahtar varsa ne olur? En uzun anahtarı en yüksek değerle elde etmek için "len" diyebilir miyim? – SiddharthaRT
@SiddharthaRT: anahtar için 'lambda' kullanabilirsiniz:' max (d, anahtar = lamda k: (d [k], len (k))) 'en yüksek değere sahip anahtarı döndürür. Böyle bir anahtardan daha fazlası, geri gönderilenlerin en uzun anahtarı olacaktır. –