所以我有一个列表,由于其他地方的一些限制,最终结果如下:
list = ['2. Name','1. Name','3. Name','4. Name','5. Name']
现在我想通过每个字符串开头的数字来命令这些可能吗?只是命令他们把他们扔进一个技术上正确的奇怪的顺序,但不是我正在寻找的,例如:
1,10,11,...,2,20,21等
有没有办法让这些成为正确的数字顺序?附加每个字符串的数字不是必需的,它们只是让我更容易检查订单是否正确。
答案 0 :(得分:1)
您可以指定需要对元素进行排序的键:
sorted(list, key=lambda elem: int(elem.split('.')[0]))
一点解释: 使用句点char作为分隔符拆分字符串,并使用第一个标记解析其中的整数。
作为旁注,请避免使用预定义的关键字命名变量。
list
- > the_list
或类似的东西。