python - 如何按日志文件的信息对日志文件进行排序?

标签 python arrays python-3.x sorting

如何将项目插入数组中的正确位置? 我想按日志文件的信息对日志文件进行排序:

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]

如何仅通过信息的位置对这些行进行排序?

最佳答案

您可以使用自定义键功能以自定义方式对列表进行排序:

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

sorted_list = sorted(lines, key=keyfn)

这假设没有额外的空格,因此始终只有 3 个字段。

关于python - 如何按日志文件的信息对日志文件进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58169474/

相关文章:

c# - HttpWebRequest 在第二次调用 Web 服务器时超时

javascript - 为数组索引赋予属性的问题

arrays - 使用解码到通用接口(interface)时如何验证 JSON?

python - 使用搜索和调用 next() 读取文件时有没有办法返回?

python - 从我的Python代码返回Opencv Mat类型

python - 根据不同列中的值替换特定列中的 pandas 数据帧值

java - 试图实现选择排序但它不会工作

python - 使用 Python 打开 Word 文档

button - Python3 : How to dynamically resize button text in tkinter/ttk?

python - 如何在 Django Rest Framework 中将数组序列化为字符串?