按字符串长度排序字符串列表

时间:2014-01-23 05:21:21

标签: python list

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)

我尝试按此代码排序。但我的结果与给定的输入相同。它没有排序。

2 个答案:

答案 0 :(得分:3)

这应该有效:

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

答案 1 :(得分:0)

无需定义自己的长度函数,只需使用key=len使用built-in len function按长度排序;

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