在Python中订购带编号的字符串列表

时间:2016-02-16 16:25:48

标签: string list python-2.7 dictionary

所以我有一个列表,由于其他地方的一些限制,最终结果如下:

list = ['2. Name','1. Name','3. Name','4. Name','5. Name']

现在我想通过每个字符串开头的数字来命令这些可能吗?只是命令他们把他们扔进一个技术上正确的奇怪的顺序,但不是我正在寻找的,例如:

1,10,11,...,2,20,21等

有没有办法让这些成为正确的数字顺序?附加每个字符串的数字不是必需的,它们只是让我更容易检查订单是否正确。

1 个答案:

答案 0 :(得分:1)

您可以指定需要对元素进行排序的键:

sorted(list, key=lambda elem: int(elem.split('.')[0]))

一点解释: 使用句点char作为分隔符拆分字符串,并使用第一个标记解析其中的整数。

作为旁注,请避免使用预定义的关键字命名变量。 list - > the_list或类似的东西。