我有一个 python 字典,其中包含未排序的键/值对,其中键是日期时间,值是 int。
{"1.12.2015":5, "4.12.2015":3, "2.12.2015":6, ...}
我现在希望读取键,并按日期排序它们的值,以便使用 pyplot 绘制它们。
结果应该是这样的:
first pair:
1.12.2015 : 5
second:
2.12.2015 : 6
third:
4.12.2015 : 3
问题是,以正确顺序获取日期和值的最佳方法是什么。如果有一个在 python 2.6 中运行的选项,那将是最好的
请您参考如下方法:
使用 lambda 作为键,将每个键转换为日期时间对象:
from datetime import datetime
d = {"1.12.2015": 5, "4.12.2015": 3, "2.12.2015": 6}
for k in sorted(d, key=lambda x: datetime.strptime(x, "%d.%m.%Y")):
print(k, d[k])
输出:
1.12.2015 5
2.12.2015 6
4.12.2015 3
根据您的评论,如果您实际上已经有了 datetime 对象,那么您只需简单地排序:
for k in sorted(d):
print(k, d[k])
