- Sort the keys by the values
scores = {
'Foo' : 10,
'Bar' : 34,
'Miu' : 88,
'Abc' : 34,
}
def by_value(x):
return scores[x]
sorted_names = sorted(scores.keys(), key=by_value)
print(sorted_names) # ["Foo", "Bar", "Abc", "Miu"]
# sort using a lambda expression
sorted_names = sorted(scores.keys(), key=lambda x: scores[x])
print(sorted_names) # ["Foo", "Bar", "Abc", "Miu"]
for k in sorted_names:
print("{} : {}".format(k, scores[k]))
# Foo : 10
# Bar : 34
# Abc : 34
# Miu : 88
scores = {
'Foo' : 10,
'Bar' : 34,
'Miu' : 88,
'Abc' : 34,
}
# sort the keys according to the values:
sorted_names = sorted(scores, key=scores.__getitem__)
print(sorted_names) # ["Foo", "Bar", "Miu", "Abc"]
for k in sorted_names:
print("{} : {}".format(k, scores[k]))
# Foo : 10
# Bar : 34
# Abc : 34
# Miu : 88