MAX或Python中dict列表中的最新值



我有一个字典列表,如下

[
{'ClientId': 70433, 'ReportDate': '2020-05-01', 'JobId': 389512, 'AccountPnlCount': 507, 'DeskPnlCount': 545, 'ThresholdName': 'Threshold2', 'RuleName': 'PnlRowCountCheck', 'StartTime': datetime.datetime(2020, 5, 1, 21, 8, 32, 940000), 'CSTTimeStr': '2020-05-01T21:08:32.940000Z'},
{'ClientId': 70433, 'ReportDate': '2020-05-01',  'JobId': 389525, 'AccountPnlCount': 507, 'DeskPnlCount': 545, 'ThresholdName': 'Threshold2', 'RuleName': 'PnlRowCountCheck', 'StartTime': datetime.datetime(2020, 5, 2, 0, 15, 21, 820000), 'CSTTimeStr': '2020-05-02T00:15:21.820000Z'}
]

我需要基于StartTime的最新记录JobId编号。即,对于"StartTime"的最大值,我需要相应的JobId,即389525。

你能帮忙吗?谢谢

使用带有key参数的max来查找字典,然后从该字典中获取JobId

>>> derp
[{'ClientId': 70433, 'ReportDate': '2020-05-01', 'JobId': 389512, 'AccountPnlCount': 507, 'DeskPnlCount': 545, 'ThresholdName': 'Threshold2', 'RuleName': 'PnlRowCountCheck', 'StartTime': datetime.datetime(2020, 5, 1, 21, 8, 32, 940000), 'CSTTimeStr': '2020-05-01T21:08:32.940000Z'}, {'ClientId': 70433, 'ReportDate': '2020-05-01', 'JobId': 389525, 'AccountPnlCount': 507, 'DeskPnlCount': 545, 'ThresholdName': 'Threshold2', 'RuleName': 'PnlRowCountCheck', 'StartTime': datetime.datetime(2020, 5, 2, 0, 15, 21, 820000), 'CSTTimeStr': '2020-05-02T00:15:21.820000Z'}]
>>> max(derp, key=lambda d: d['StartTime'])['JobId']
389525

最新更新