例如,如果我有一个列表:[datetime.datetime(2016,5,1), datetime.datetime(2015,2,5)]
我希望从该列表中筛选出2015条目。
考虑这个列表包含许多条目,例如我只放入两个条目。
答案 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