Lista uporządkowana pod względem długości, ale o tej samej długości w kolejności alfabetycznej w kroku

Moja lista w Pythonie to coś w rodzajux ale wystarczająco długo:

x = ['aaa','ab','aa','c','a','b','ba']      

Chcę posortować tę listę jako:['a', 'b', 'c', 'aa', 'ab', 'ba', 'aaa'] i zrobiłem to w następujący sposóbdwa kroki:

>>> x.sort()   
>>> x.sort(key=len)      
>>> x
['a', 'b', 'c', 'aa', 'ab', 'ba', 'aaa']   

Ale potrzebuję w jednym kroku: ja też przywiązałemlambda funkcja (wziąłem pomoc):

>>> x.sort(key=lambda item: (item, len(item)))
>>> x
['a', 'aa', 'aaa', 'ab', 'b', 'ba', 'c']  

Ale nie tak, jak chciałem:

Czy jest to możliwe w jednym kroku? Proszę mnie.

Mój Python:

~$ python --version  
Python 2.6.6

questionAnswers(2)

yourAnswerToTheQuestion