猿问

Python:以日期时间为键对嵌套字典进行排序

我有一个字典列表,每个条目都有一个日期时间对象作为键。我如何根据键对其进行排序?


from datetime import datetime


buffer = [{datetime(2020, 5, 3, 9, 42, 00): {'data': 46, 'id': 'john'}},

          {datetime(2020, 5, 3, 9, 54, 00): {'data': 48, 'id': 'george'}},

          {datetime(2020, 5, 3, 9, 36, 00): {'data': 49, 'id': 'paul'}},

          {datetime(2020, 5, 3, 9, 24, 00): {'data': 51, 'id': 'ringo'}}]

我在追寻这个:


[{datetime(2020, 5, 3, 9, 24, 00): {'data': 51, 'id': 'ringo'}},


{datetime(2020, 5, 3, 9, 36, 00): {'data': 49, 'id': 'paul'}},


{datetime(2020, 5, 3, 9, 42, 00): {'data': 46, 'id': 'john'}},


{datetime(2020, 5, 3, 9, 54, 00): {'data': 48, 'id': 'george'}}]


蛊毒传说
浏览 94回答 1
1回答

大话西游666

如果每个字典只有一个键:from pprint import pprintfrom datetime import datetimebuffer = [{datetime(2020, 5, 3, 9, 42, 00): {'data': 46, 'id': 'john'}},          {datetime(2020, 5, 3, 9, 54, 00): {'data': 48, 'id': 'george'}},          {datetime(2020, 5, 3, 9, 36, 00): {'data': 49, 'id': 'paul'}},          {datetime(2020, 5, 3, 9, 24, 00): {'data': 51, 'id': 'ringo'}}]out = sorted(buffer, key=lambda k: list(k)[0])pprint(out)印刷:[{datetime.datetime(2020, 5, 3, 9, 24): {'data': 51, 'id': 'ringo'}}, {datetime.datetime(2020, 5, 3, 9, 36): {'data': 49, 'id': 'paul'}}, {datetime.datetime(2020, 5, 3, 9, 42): {'data': 46, 'id': 'john'}}, {datetime.datetime(2020, 5, 3, 9, 54): {'data': 48, 'id': 'george'}}]
随时随地看视频慕课网APP

相关分类

Python
我要回答