我有字典
from datetime import datetime
time_delta_dict = {'A': datetime.datetime(year=2020, month=6, day=1, hour=11, minute=0),
'B': datetime.datetime(year=2020, month=6, day=1, hour=21, minute=0),
'C': datetime.datetime(year=2020, month=6, day=1, hour=18, minute=0),
'D': datetime.datetime(year=2020, month=6, day=1, hour=15, minute=0)}
如何返回具有最新日期和时间的密钥?在我的示例中,最新的是键“ B”。我试过在每个datetime对象中获得最大小时数,但是它仅在其他所有条件不变时才起作用。
[当月份和日期随机变化时,情况就不同了。我想我错过了一些datetime模块功能。我该如何进行呢?
将max()
函数与key
参数一起使用:
import datetime
time_delta_dict = {'A': datetime.datetime(year=2020, month=6, day=1, hour=11, minute=0),
'B': datetime.datetime(year=2020, month=6, day=1, hour=21, minute=0),
'C': datetime.datetime(year=2020, month=6, day=1, hour=18, minute=0),
'D': datetime.datetime(year=2020, month=6, day=1, hour=15, minute=0)}
key_max, value_max = max(time_delta_dict.items(), key=lambda item: item[1])
print(key_max)
输出:
B
您可以为此使用sorted模块
from datetime import datetime
time_delta_dict = {'A': datetime(year=2020, month=6, day=1, hour=11, minute=0),
'B': datetime(year=2020, month=6, day=1, hour=21, minute=0),
'C': datetime(year=2020, month=6, day=1, hour=18, minute=0),
'D': datetime(year=2020, month=6, day=1, hour=15, minute=0)}
key, date = max(time_delta_dict.items(), key = lambda x: x[1])
print(key)
输出:B