#主要是要理解"循环记录时,只以第一次出现的顺序为准,后面重复的不会更新它的出现时间,仍以第一次为准" #就算最后一个出现的,也可能因为重复出现被顶掉 s_list = [] dic = {} while True: try: path, line = input().split() #就算没有16个字符,字符串[-16]也不会报错,自动取第一个 a = (path.split('\\')[-1][-16:], line) if a not in s_list: s_list.append(a) dic[a] = 1 else: dic[a] += 1 except: break #就算没有8个元素,数组[-8]也不会报错,自动取第一个 for i in s_list[-8:]: print(i[0], i[1],dic[i]) # import sys # #先处理好输入记录,存在s_list # s_list = [] # while True: # try: # s_l = input().split('\\') # s = s_l[len(s_l) - 1] # path = s.split(' ')[0] # line = s.split(' ')[1] # if len(path) > 16: # path = path[len(path) - 16:] # s = path + " " + line # s_list.append(s) # except: # # print(sys.exc_info()) # break # #计算重复次数 # dic = {} # to_dele = [] # s_len = len(s_list) # for i in range(s_len): # s = s_list[i] # if s in dic: # dic[s] += 1 # to_dele.append(i) # else: # dic[s] = 1 # #第二次出现的,删掉 # while len(to_dele) > 0: # # print(to_dele[-1]) # del s_list[to_dele[-1]] # del to_dele[-1] # # print(s_list) # #最多输出8个 # startIndex = 0 # if len(s_list) > 8: # startIndex = len(s_list) - 8 # for i in range(startIndex, len(s_list)): # s = s_list[i] # s = s + " " + str(dic[s]) # print(s) # # dic = {} # # s_len = len(s_list) # # index = s_len # # while index > 0: # # index -= 1 # # s = s_list[index] # # if s in dic: # # dic[s] += 1 # # else: # # dic[s] = 1 # # if len(dic) >= 8: # # break # # print_set = set() # # for i in range(index, s_len): # # s = s_list[i] # # s = s + " " + str(dic[s]) # # if s not in print_set: # # print(s) # # print_set.add(s)