【问题标题】:What data structure container can be sorted by date什么数据结构容器可以按日期排序
【发布时间】:2015-08-18 08:47:18
【问题描述】:

Python 3 中有没有可以按日期排序的数据结构?

('2015-08-01', 10,10)
('2015-08-03', 11,11)
.. and so on ..

我知道我可以使用 pandas 数据框,但想知道是否还有其他更轻量级的替代方案。

【问题讨论】:

  • 您的“日期”只是 ISO-8601 格式的字符串,自然会按字典顺序排序。所以使用元组序列,以日期为第一个值,可以直接排序。一系列列表也是如此。

标签: python python-3.x data-structures


【解决方案1】:

由于日期是YYYY-MM-DD 格式的字符串,它已经可以按照您期望的方式排序。而且由于日期是第一项,所以你甚至不需要提供按键功能。

data = [('2015-08-03', 11,11), ('2015-08-01', 10,10)]

data.sort()

print(data)

结果:

[('2015-08-01', 10, 10), ('2015-08-03', 11, 11)]

如果日期不是第一项,您可以这样做:

import operator

data = [('a', '2015-08-03', 11,11), ('b', '2015-08-01', 10,10)]

data.sort(key=operator.itemgetter(1))

print(data)

结果:

[('b', '2015-08-01', 10, 10), ('a', '2015-08-03', 11, 11)]

【讨论】:

  • 不敢相信它这么简单,正是我需要的,谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-21
  • 2017-01-19
  • 2021-01-12
  • 2021-09-10
相关资源
最近更新 更多