19
私はすべてのdictの値で最大値であるdictキーを取得しようとしています。 私は2つの方法を見つけました。どちらも十分にエレガントではありません。最大値でdictキーを取得
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]
より良いアプローチがありますか?
複数のキーがある場合はどうなりますか?最も価値のある最も長いキーを得るために 'len'を渡すことはできますか? – SiddharthaRT
@SiddharthaRT: 'max(d、key = lamda k:(d [k]、len(k)))'はキーに 'lambda'を使うことができます。そのようなキーが複数ある場合、返されるキーの中で最も長いキーになります。 –