如何获得有序的字符串列表

时间:2014-04-23 08:10:42

标签: python list

我的列表看起来像这样:

pages= ['page34','page1','page12','page9','page11','page2','page10']

我测试了这个:

pages.sorted()

我收到了“差不多”的订单,但还不行:

>>> pages
['page1', 'page10', 'page11', 'page12', 'page2', 'page34', 'page9']

那么,我怎样才能获得所需的有序列表,如下所示:

page1,page2,page9,page10,page11,page12和page34

1 个答案:

答案 0 :(得分:5)

你可以这样做:

pages = ['page34','page1','page12','page9','page11','page2','page10']

pages.sort(key = lambda x: int(x[4:]))

>>> print pages
['page1', 'page2', 'page9', 'page10', 'page11', 'page12', 'page34']

这会根据页码的{strong> 数字 值(x[4:]

对列表进行排序

建议阅读(由Grijesh Chauhan撰写):https://wiki.python.org/moin/HowTo/Sorting