Как я могу отсортировать Log-файл по его информации? - PullRequest
1 голос
/ 30 сентября 2019

Как я могу вставить элемент в массив в правильной позиции? Я хочу отсортировать файл журнала по его информации:

Line 1: 2019/06/28 Hello:world id:2346
Line 2: 2019/06/28 Hello:life id:3774
Line 3: 2019/06/25 Hello:world id:1643
             ^          ^         ^
           Pos[0]     Pos[1]    Pos[2]

Как я могу отсортировать эти строки, располагая только позицию информации?

1 Ответ

2 голосов
/ 30 сентября 2019

Вы можете использовать настраиваемую функцию клавиш для сортировки списка произвольным образом:

def keyfn(line):
    date, hello, id_ = line.strip().split()
    _, num = id_.split(":")
    return int(num)

sorted_list = sorted(lines, key=keyfn)

Предполагается, что нет дополнительных пробелов, так что всегда есть ровно 3 поля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...