题解 | #简单错误记录#
简单错误记录
http://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb
-思路:既然文件名和行号相同视为同样的错误,所以可以把文件名和行号拼接后的字符串作为字典error_dict的key,当key相同时,value值加一,这样就可以得到一个记录错误的字典error_dict,然后取字典的最后8项元素格式化输出即可
import sys
error_dict = {}
for line in sys.stdin:
e = line.split(" ")
file_name, line_number = e[0].strip().split("\\")[-1][-16:], e[1].strip() # 文件名和行号,用于拼接成key
k = f"{line_number}_{file_name}"
error_dict[k] = error_dict.get(k, 0) + 1 # value初始为0,每次加1
for k, v in list(error_dict.items())[-8:]: # 字典的items不可分割,需要转成list分割
n, file = k.split("_", 1)
print(f"{file} {n} {v}")