首页 > 解决方案 > 如果没有,则查找日期时间列表的最大值

问题描述

我有一个包含 DateTime 对象的列表以及 None 值,我需要获取列表的最大日期。

a =
[datetime.datetime(2020, 9, 25, 0, 0)]
[]
[None]
[datetime.datetime(2020, 9, 24, 0, 0)]
[]
[None]
[datetime.datetime(2020, 9, 24, 0, 0)]
[]
[None]
[]
[datetime.datetime(2020, 9, 24, 0, 0)]
[]
[None]
[]
[]
[datetime.datetime(2020, 9, 24, 0, 0)]
[]
[datetime.datetime(2020, 9, 24, 0, 0)]
[]
[]
[datetime.datetime(2020, 9, 24, 0, 0)]
[]
[None]
[]
[datetime.datetime(2020, 9, 24, 0, 0)]
[]
[None]
[]
[datetime.datetime(2020, 9, 24, 0, 0)]
[]
[datetime.datetime(2020, 9, 24, 0, 0)]
[datetime.datetime(2020, 9, 24, 0, 0)]
[None, datetime.datetime(2020, 9, 24, 0, 0), None]

我试图获得最大日期

return max(a)

我得到了这个错误


TypeError: '>' not supported between instances of 'datetime.datetime' and 'None Type'

如何以正确的方式做到这一点?如果需要,请要求澄清。

标签: pythondatetime

解决方案


一开始只是过滤None元素。

max(x for x in a if x is not None)

推荐阅读