题解 | #简单错误记录#
简单错误记录
https://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb
def process_lis(inp): name = inp.split()[0] num = inp.split()[1] if len(name) > 16: name = name[-16:] return name + ' ' + num key_lis = list() result_dic = dict() #以name+num作为索引,字典里实际上的value只有次数 try: while True: key = process_lis(input().split('\\')[-1]) result_dic[key] = result_dic.get(key,0) + 1 #如果 key在字典中,返回对应的值;否则返回默认值 0。作用是计算错误出现次数 if key not in key_lis: key_lis.append(key) except(EOFError,ValueError): pass for key in key_lis[-8:]: print(key,result_dic[key])
借鉴评论区两位大佬的思路。选择函数封装输入处理+字典方式