题解 | #简单错误记录#

简单错误记录

http://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb

以filename+lineno作为key,以count为值存储为map list作为有序数列记录error出现的顺序 最后遍历list中后8个元素,并通过元素值作为key获取map中存储的总数

import sys
error_map = {}
error_list = []
for i in sys.stdin:
    path, line_no = i.strip().split(' ')
    filename = path.split('\\')[-1]
    if len(filename) > 16:
        filename = filename[-16:]
    error_key = filename + ' ' + line_no
    if error_key in error_map.keys():
        error_map[error_key] = error_map[error_key] + 1
    else:
        error_list.append(error_key)
        error_map[error_key] = 1
for error_key in error_list[-8:]:
    print(error_key, error_map.get(error_key))
全部评论
为什么 我用 for i in sys.stdin: 的时候,总是报错 list index out of range ? 用 input()的时候就完全没这个问题,流泪,哪位大神求指教
点赞 回复 分享
发布于 2022-03-15 14:51
因为需要i.strip(),去除换行符号
点赞 回复 分享
发布于 2022-05-11 19:47
这种写***保存所有的错误记录, 然后输出最后8条. 浪费了部分内存.
点赞 回复 分享
发布于 2022-08-31 09:25 北京

相关推荐

9 2 评论
分享
牛客网
牛客企业服务