5

我对Python有点陌生......

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

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

除其他外,每条 JSON 消息都具有三个字段:“日期”、“类型”和“位置”。我需要先按日期对数组进行排序,然后按每个相同日期块中的类型,然后按每个相同类型块中的位置。我怎样才能做到这一点?谢谢!

4

1 回答 1

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

元组自然首先按第一个元素排序,然后按后续元素排序。

于 2013-03-06T21:38:30.043 回答