跳至内容
- ls = [] #储存键
- dic = {} #储存键-值对
- while True:
- try:
- msg = input().split() #默认以空格分隔
- msg[0] = msg[0].split(“\\”)[-1] #路径\分割,只取最后一个
- msg = ‘ ‘.join([msg[0][-16:],msg[1]]) #取后16位及行号(str[-16],num) -> (str[-16] num) ‘ ‘.join([x,y]) 表示用 ‘ ‘ 连接 x和y
- if msg not in dic.keys(): #将msg记为字典key值并判断是否存在
- ls.append(msg) #不存在就将其计入列表ls #append表示列表尾部追加数据,list中追加数字和追加字符串时会不会有分隔符?默认分隔符是什么? 每个元素之间都会有分隔符,默认分隔符都是 ‘,’
- dic[msg] = 1 #将msg为key的value记录为1
- else:
- dic[msg] += 1 #存在msg就在字典中对应值增加计数
- except:
- break #while True 加 try except break 用来保证输入完毕后退出循环
- for item in ls[-8:]: #正序遍历后八个存储的键
- print(item,dic[item])
- 自己的版本
- list1 = []
- dic1 = {}
- while True:
- try:
- msg = input()
- msglist = msg.split()
- textfile = msglist[0].split(“\\”)[-1]
- msgwrong = ‘ ‘.join([textfile[-16:],msglist[1]])
- if msgwrong not in list1:
- list1.append(msgwrong)
- dic1[msgwrong] = 1
- else:
- dic1[msgwrong] += 1
- except:
- break
- for item in list1[-8:]:
- print(item,dic1[item])