How do I sort a list of strings by key=len first then by key=str? I\'ve tried the following but it\'s not giving me the desired sort:
key=len
key=str
If you don't want to use lambda:
from operator import itemgetter ls = ['foo','bar','foobar','barbar'] print sorted([ [x,len(x)] for x in ls ] ,key=itemgetter(1,0)) # print [s[0] for s in sorted([ [x,len(x)] for x in ls ] ,key=itemgetter(1,0))]