长沙娱乐网站开发/seo怎么快速提高排名
就一题, 词频统计,主要纠结了以下地方:
1.当没有找到#也要把这一行的字符串存起来
2.字符串长度>15的时候只取前15个字符
3.多条件排序算法sorted(d.items(),key=lambda d:(-d[1],d[0]))
4.还有如果不是合法字符,如果非法字符存在多个的时候index也要移动,还有最后结尾的判断。
new=[]
while(True):s=input()s=s.lower()if '#' in s:new.append(s[:s.find('#')])breakelse:new.append(s)
d={}
for s in new:index=0for j in range(0,len(s)):if (not s[j].isalnum()) and s[j]!='_' :if index!=j:if j-index>15:d[s[index:index+15]]=d.get(s[index:index+15],0)+1else:d[s[index:j]]=d.get(s[index:j],0)+1index=j+1else:if j==len(s)-1:if j+1-index>15:d[s[index:index+15]]=d.get(s[index:index+15],0)+1else:d[s[index:j+1]]=d.get(s[index:j+1],0)+1
num=int(len(d)*0.1)
print(len(d))
l=sorted(d.items(),key=lambda d:(-d[1],d[0]))
i=0
for i in range(0,num):result=str(l[i][1])+':'+str(l[i][0])print(result)