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