list = ['xxxx ResultDatetime:2017-05-31 09:38:00.000:ResultDatetime', 'xxxx ResultDatetime:2017-05-26 15:36:00.000:ResultDatetime', 'yyyyy' ResultDatetime:2017-10-23 16:16:00.000:ResultDatetime]
datet = re.compile(r'ResultDatetime:(\d{4}-\d{2}-\d{2} \d{2}:\d{2})')
list.sort(key = lambda x: ........)
我想从最早的日期开始排序。我应该如何使用lambda和regex来实现呢?在
您可以使用^{} (请参阅这个答案:Parse date strings?)来解析日期,^{} 可以从字符串中获取日期
有了代码,就可以:
(但请不要使用
list
作为变量名)。在不需要将提取的字符串转换为
datetime
,因为它已经是自然排序的格式。在但是请注意,如果任何字符串与正则表达式不匹配,则会生成一个错误,因此最好将密钥拆分为一个命名的多行函数,并在返回匹配的组之前测试匹配是否成功。在
^{pr2}$我认为最简单的解决办法是:
输出:
^{pr2}$相关问题 更多 >
编程相关推荐