Python:如何根据两个字段排序字典数组?

5 投票
1 回答
1566 浏览
提问于 2025-04-17 18:11

我对Python还不是很熟悉...

我有一个字典数组,这个数组是通过读取一个包含JSON消息的文件得到的,也就是用类似下面的代码:

import json
ws = []
with open('messages.txt', 'r') as f:
    for line in f:
        data = json.loads(line)
        ws.append(data)

每个JSON消息里有几个字段,其中包括“date”(日期)、“type”(类型)和“location”(位置)。我需要先按日期排序,然后在每个相同日期的组里按类型排序,再在每个相同类型的组里按位置排序。我该怎么做呢?非常感谢!

1 个回答

10
ws.sort(key=lambda datum: (datum['date'], datum['type'], datum['location']))

元组的排序是先看第一个元素,如果第一个元素相同,就看第二个元素,以此类推。

撰写回答