【发布时间】:2018-08-19 00:30:38
【问题描述】:
这是我的输入:
a = ['Dr1', 'Dr10', 'Dr11', 'Dr12','Dr2', 'Dr3']
a.sort()
print(a)
这是当前的输出:
['Dr1', 'Dr10', 'Dr11', 'Dr12', 'Dr2', 'Dr3']
这是我想要生成的输出:
['Dr1', 'Dr2', 'Dr3', 'Dr10', 'Dr11', 'Dr12']
【问题讨论】:
-
您的字符串是否总是采用
Dr后跟数字的形式?如果是这样,您可以按key=lambda x: int(x[2:])或链接副本的答案中显示的其他内容进行排序。但是,如果字母可能不同,并且您想考虑它们——例如,Dr2在Dr10之前,但Mr1在Dr2之后,您可能想要一个“自然排序”库而不是构建手工制作。