此程序支持在提前建立的txt文件中检索单词个数,下面程序检索的文件名为“统计单词个数.txt”。若有一段英文段落,可将其复制到该txt文件中再运行程序,该txt文件和该程序所在的python文件请放在同一文件夹下。
另外需要注意的一个方法是倒序循环,即从最后一个元素循环到第一个元素。不能用正序循环,因为正序循环删除元素后,后续的列表的长度和元素下标同时也会跟着变。
with open('统计单词个数.txt','r',encoding='utf-8') as f:
new_lines=''
all_the_lines=f.readlines()
for every_line in all_the_lines:
for i in range(0,len(every_line)):
if ord(every_line[i])<65 or ord(every_line[i])>122:
new_lines=new_lines+' '
else:
new_lines=new_lines+every_line[i]
new_lines=new_lines.lower()
words=new_lines.split(" ")
'''倒序循环,从最后一个元素循环到第一个元素。
不能用正序循环,因为正序循环删除元素后,
后续的列表的长度和元素下标同时也跟着变了'''
for i in range(len(words)-1,-1,-1):
if words[i] == '':
words.pop(i)
dic={}
for j in words:
if j in dic:
dic[j]+=1
else:
dic[j]=1
list1=list(dic.items())
list1.sort(key=lambda x:(x[1],x[0]),reverse=True)
for k in range(0,len(list1)):
if k<20:
print(list1[k])