Python OrderedDict 按日期排序
我正在尝试使用 OrderedDict (Raymond Hettingers 版本 for pre2.7 Python),其中我的密钥是日期。但是它没有正确排序,我想它可能是根据 ID 排序的。
有人对如何做到这一点有任何建议吗?
I am trying to use an OrderedDict (Raymond Hettingers version for pre2.7 Python) where my keys are dates. However it does not order them correctly, I imagine it may be ordering based on the ID.
Does anyone have any suggestions of how this could be done?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
OrderedDict,根据其文档字符串,是一种记住插入顺序的字典。
因此,您需要以正确的顺序手动插入键/值对。
编辑:请参阅 utdemir 的答案以获得更好的示例。使用
operator.itemgetter
可以为您提供更好的性能(速度提高 60%,我使用下面的基准代码),并且它是更好的编码风格。您可以将OrderedDict
直接应用于sorted(...)
。OrderedDict, according to its docstring, is a kind of dict that remembers insertion order.
Thus, you need to manually insert the key/value pairs in the correct order.
edit: See utdemir's answer for a better example. Using
operator.itemgetter
gives you better performance (60% faster, I use the benchmark code below) and it's a better coding style. And you can applyOrderedDict
directly tosorted(...)
.