I often do sorts in Python using lambda expressions, and although it works fine, I find it not very readable, and was hoping there might be a better way. Here is a typical use
I'm not sure if this is the kind of alternative you meant, but you could define the key function with a def
:
def sort_key(value):
return x[value]
y.sort(key = sort_key)
Personally, I think this is worse than the lambda
as it moves the sort criteria away from the line of code doing the sort and it needlessly adds the sort_key
function into your namespace.