2014-01-23 66 views
0
words = ["dog", "apple", "bear"] 
def len_words(words): 
     w1 = [] 
     for p in words: 
      w1.append(len(p)) 
      pass 
for p in words: 
     words.sort(key=len_words) 

我試圖按此代碼進行排序。但是我的結果與給定的輸入相同。它沒有排序。按其長度排序字符串列表

+0

普萊斯塊引用代碼。到目前爲止,這是不可讀的。 –

回答

0

無需定義您自己的長度函數,只需使用key=len按照長度使用built-in len function進行排序;

>>> words = ["dog", "apple", "bear"] 
>>> words.sort(key=len) 
>>> words 
['dog', 'bear', 'apple'] 
2

這應該工作:

words = ["dog", "apple", "bear"]  
words.sort(key=len)