如何从datetime.datetime对象列表中过滤特定年份的行?

时间:2017-02-03 02:37:36

标签: python datetime python-datetime

例如,如果我有一个列表:[datetime.datetime(2016,5,1), datetime.datetime(2015,2,5)]
我希望从该列表中筛选出2015条目。

考虑这个列表包含许多条目,例如我只放入两个条目。

3 个答案:

答案 0 :(得分:0)

您可以使用

过滤获取过滤的列表
lst=[datetime.datetime(2016,5,1),datetime.datetime(2015,2,5)]
filtered_list = [date for date in lst if date.year == 2015]

filtered_list是:

[datetime.datetime(2015, 2, 5, 0, 0)]

答案 1 :(得分:0)

只需检查year属性:

>>> some_dates = [datetime.datetime(2016,5,1), datetime.datetime(2015,2,5)]
>>> [x for x in some_dates if x.year != 2015]
[datetime.datetime(2016, 5, 1)]

答案 2 :(得分:0)

如果你有一个很长的日期列表,可以使用Python 3中的内置filter()函数或Python 2中的itertools.ifilter()迭代地跳过不需要的日期。

在任何一种情况下,都可以避免创建第二个可能非常长的列表。

nullptr