2017-01-29 60 views
0

我想按字母順序和長度排序的字符串列表,所以它被排序是這樣的:在按長度排序之前按字母順序排序列表?

["a", "b", "ba", "ab", "cccc", "cccef", "c"] 

["a", "ab", "b", "ba", "c", "cccc", "cccef"] 

這可能是一個重複的問題和解決方案可能很簡單,但我似乎無法弄清楚。

+0

這是默認的(詞典)排序:'sorted([「a」,「b」,「ba」,「ab」,「cccc」,「cccef」,「c」])== [「a」,「ab」,「b」,「ba」,「c」,「cccc」,「cccef」]'。 –

回答

0

第一個參數是按字母順序排序的x(默認),第二個是按長度排序的len(x)。

s = ["a", "b", "ba", "ab", "cccc", "cccef", "c"] 
s = sorted(s, key = lambda x: (x,len(x))) 
print (s) 
>>>['a', 'ab', 'b', 'ba', 'c', 'cccc', 'cccef']