【发布时间】:2022-01-06 12:32:44
【问题描述】:
我有一个字符串列表。现在,我想根据字符串长度对该列表中的元素进行排序。
proxy_list = ['my', 'list', 'looks', 'like', 'this']
我想要的输出如下所示:
desired_output = ['my','like','list','this','looks']
下面的代码根据长度而不是字母顺序对列表进行排序:
print(sorted(proxy_list, key=len))
>>> ['my', 'list', 'like', 'this', 'looks']
如何根据两件事对带有字符串的列表进行排序?
【问题讨论】:
-
key=lambda s: (len(s), s)。首先按长度排序,然后按字符串排序。默认情况下,字符串按字母顺序排序。 -
这能回答你的问题吗? Sort a list by multiple attributes?
-
由于 python
sort是稳定的,您也可以运行sorted(sorted(proxy_list), key=len),尽管这可能会更慢,除非列表已经或多或少地按照您的需要排序。