Just after discovering the amazing sorted()
, I became stuck again.
The problem is I have a dictionary of the form string(key) : integer(value)
and I need to sort it in descending order of its integer values, but if two elements where to have same value, then by ascending order of key.
An example to make it clearer:
d = {'banana':3, 'orange':5, 'apple':5}
out: [('apple', 5), ('orange', 5), ('banana', 3)]
After doing some research I arrived at something like:
sorted(d.items(), key=operator.itemgetter(1,0), reverse=True)
out: [('orange', 5), ('apple', 5), ('banana', 3)]
This is because it's reverse-sorting both the value and the key. I need the key to be un-reversed.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…