Python:如何根据两个字段排序字典数组?
我对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']))
元组的排序是先看第一个元素,如果第一个元素相同,就看第二个元素,以此类推。