如何在Python中对日期字符串列表进行排序?
[{'date': '2010-04-01', 'people': 1047, 'hits': 4522}, {'date': '2010-04-03', 'people': 617, 'hits': 2582}, {'date': '2010-04-02', 'people': 736, 'hits': 3277}]
假设我有这样一个列表。我该如何根据“日期”来排序呢?这个“日期”是字典里的一个项目。不过,“日期”是一个字符串……
5 个回答
18
Satoru.Logic的解决方案很简洁明了。不过,根据Alex的帖子,你其实不需要去处理日期字符串来调整排序顺序……所以可以去掉 .split('-')
这部分。
这段代码就足够了:
records.sort(key=lambda x:x['date'])
27
幸运的是,ISO格式的日期,看起来就是你这里用的这种,作为字符串排序非常完美!所以你不需要什么复杂的操作:
import operator
yourlistofdicts.sort(key=operator.itemgetter('date'))
45
在编程中,有时候我们会遇到一些问题,可能是因为代码写得不够好,或者是我们对某些概念理解得不够透彻。比如,有人可能在使用某个功能时,发现它的表现和预期不一样,这时候就需要仔细检查代码,看看哪里出了问题。
另外,编程语言和工具的使用也会影响我们的代码效果。有些功能在不同的环境下表现可能会有所不同,因此了解你所用的工具和语言的特性是非常重要的。
总之,遇到问题时,不要着急,慢慢分析,找出原因,才能更好地解决问题。
.sort(key=lambda x: datetime.datetime.strptime(x['date'], '%Y-%m-%d'))