Python 使用公共id从字典中获取键值和最大日期

Python 使用公共id从字典中获取键值和最大日期,python,dictionary,Python,Dictionary,你好,我有一个像这样的dict数组- [{'id':'450', 'marks':'30', 'end_date':datetime.datetime(2021, 2, 3, 0, 0, tzinfo=<UTC>)}, {'id':'450', 'marks':'60', 'end_date':datetime.datetime(2021, 2, 7, 0, 0, tzinfo=<UTC>)}, {'id':'450', 'marks':'80', 'end_date

你好,我有一个像这样的dict数组-

[{'id':'450', 'marks':'30', 'end_date':datetime.datetime(2021, 2, 3, 0, 0, tzinfo=<UTC>)},
 {'id':'450', 'marks':'60', 'end_date':datetime.datetime(2021, 2, 7, 0, 0, tzinfo=<UTC>)},
 {'id':'450', 'marks':'80', 'end_date':None},
 {'id':'452', 'marks':'51', 'end_date':datetime.datetime(2021, 3, 1, 0, 0, tzinfo=<UTC>)},
 {'id':'452', 'marks':'27', 'end_date':datetime.datetime(2021, 3, 3, 0, 0, tzinfo=<UTC>)}]
[{'id':'450','marks':'30','end_date':datetime.datetime(2021,2,3,0,0,tzinfo=)],
{'id':'450','marks':'60','end_date':datetime.datetime(2021,2,7,0,0,tzinfo=),
{'id':'450','marks':'80','end_date':None},
{'id':'452','marks':'51','end_date':datetime.datetime(2021,3,1,0,0,tzinfo=),
{'id':'452','marks':'27','end_date':datetime.datetime(2021,3,3,0,0,tzinfo=)}]
我想获得常用ID的标记和最大日期之和。对于上面的数据,我的输出应该如下-

[{'id':'450', 'marks':'170', 'end_date':datetime.datetime(2021, 2, 7, 0, 0, tzinfo=<UTC>)},
 {'id':'452', 'marks':'78', 'end_date':datetime.datetime(2021, 3, 3, 0, 0, tzinfo=<UTC>)}]
[{'id':'450','marks':'170','end_date':datetime.datetime(2021,2,7,0,0,tzinfo=)],
{'id':'452','marks':'78','end_date':datetime.datetime(2021,3,3,0,0,tzinfo=)]
我尝试使用
计数器
,但它也会给我ID的总和。

您可以使用将键组合在一起,然后执行必要的操作(
max
sum

输出

[{'id': '450', 'marks': 170, 'end_date': datetime.datetime(2021, 2, 7, 0, 0)}, {'id': '452', 'marks': 78, 'end_date': datetime.datetime(2021, 3, 3, 0, 0)}]

非常感谢,伙计。这很有魅力!!
[{'id': '450', 'marks': 170, 'end_date': datetime.datetime(2021, 2, 7, 0, 0)}, {'id': '452', 'marks': 78, 'end_date': datetime.datetime(2021, 3, 3, 0, 0)}]