题解 | #简单错误记录#

简单错误记录

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

import sys
import re
lists=[]
for line in sys.stdin:
    line = line.rstrip("\n")
    lists.append(line)
def f(x):
# 匹配最后一个反斜杠后面的所有内容
    x=re.findall(r"\\([a-z]+\s[0-9]+)",x)[-1]
    return x
lists=list(map(f,lists))

def f1(x):
# 匹配空格前面的内容,取后16位
    x1=re.findall(r"(.*)\s",x)
    x1=x1[0][-16::]
# 匹配空格和代码行数
    x2=re.findall(r"(\s[0-9]+)",x)
    return x1+str(x2[0])
# file_name_row就是后16位+代码行数
file_name_row=list(map(f1,lists))
dic={}

list1=[]
num=0
# 把后16位和代码行数作为字典的键,赋值默认为1,如果第二次出现,值加1
for i in file_name_row:
    dic[i]=1
    if i in list1:
        dic[i]=dic[i]+1
        pass
    else:
        list1.append(i)
    num+=1
# 在包含所有错误的文件里取最后8个
list_end=list1[-8:]


for i in list_end:
    print(i+" "+str(dic[i]))

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务