Python:如何通过两个字段对dicts数组进行排序?

I Z*_*I Z 5 python arrays sorting

我对Python有些新意见......

我通过读取包含JSON消息的文件获得了一系列的dicts,即使用以下内容:

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

除了别的以外,每个JSON消息还有三个字段:"日期"和"类型"和"位置".我需要先按日期对数组进行排序,然后按相同日期的每个块中的类型进行排序,然后按相同类型的每个块中的位置进行排序.我怎样才能做到这一点?太多了!

Pav*_*sov 9

ws.sort(key=lambda datum: (datum['date'], datum['type'], datum['location']))
Run Code Online (Sandbox Code Playgroud)

元组首先由第一个元素自然排序,然后由后续元素排序.