按长度排序之前按字母顺序排序列表?

时间:2017-01-29 16:39:53

标签: python-3.x sorting

我想按字母顺序和长度对字符串列表进行排序,以便按照以下方式排序:

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

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

这可能是一个重复的问题,解决方案可能很简单,但我似乎无法弄明白。

1 个答案:

答案 0 :(得分: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']
相关问题