请帮我写代码。有一个字典列表:
slovar = [{code: 228, log: '08', time: datetime.datetime(2021, 9, 1, 7, 6, 3, 787903)},
{code: 227, log: '18', time: datetime.datetime(2016, 1, 2, 7, 8, 1, 787903)},
{code: 228, log: '56', time: datetime.datetime(2019, 5, 1, 2, 3, 3, 787903)},
{code: 226, log: '82', time: datetime.datetime(2015, 4, 3, 7, 1, 3, 787903)},
{code: 226, log: '76', time: datetime.datetime(2018, 9, 1, 5, 6, 1, 787903)}]
有必要根据代码键将字典分成虚构的组(即,使它们看起来像是在分组。一组有字典,代码:228,另一组代码:227,等等)
之后,需要将这些“假想组”按时间键排序,从每个组中获取最新的字典,然后从每个字典中取出代码和日志键的值,形成一个字典形式{代码:日志,代码:日志等}
为了便于理解,所有操作后的输出应该是这样的:
>>>{228: '08',
227: '18',
226: '76'}
最简单的方法是通过
Pandas
:结论:
你可以用纯python来做,但是代码会稍微复杂一些,代码在外观上会不太清晰:
结论: