文本字频统计和删除
新手求助,请各位看看这段代码哪里出了问题,运行的时候一直把密后面的一个字也删掉了,字频统计也输不出来{:10_319:}要求:从文件data.txt中读入信息,将其中包含的“密”字(可能出现0次、1次或多次)删除,最后原样输出剩余的文本内容,同时统计出剩余文本中每个汉字出现的次数,并输出。
f=open('data.txt',encoding='utf-8')
text=f.read()
f.close()
L=list(text)
for i in L:
if i=='密':
L.remove(i)
else:
print('%s'%i)
dic={}
for j in L:
if j not in dic:
dic=1
else:
dic+=1
swd=sort(list(dic.items()),key=lambda lst:lst,reverser=True)
for kword,times in swd:
print(kword,times) 改成这样试试?
f=open('data.txt',encoding='utf-8')
text=f.read()
f.close()
L=list(text)
for i in L[:]:
if i=='密':
L.remove(i)
else:
print('%s'%i)
dic={}
for j in L:
if j not in dic:
dic=1
else:
dic+=1
swd=sorted(list(dic.items()),key=lambda lst:lst,reverse=True)
for kword,times in swd:
print(kword,times) 本帖最后由 AresFC 于 2021-1-17 18:48 编辑
qiuyouzhi 发表于 2021-1-17 18:28
改成这样试试?
成了!
是改了第5行和sorted两处吗
为什么要这样改呀 AresFC 发表于 2021-1-17 18:45
成了!
是改了第5行和sorted两处吗
为什么要这样改呀
1,如果不改成切片的话,遍历就会出问题
2,这个是基础8,sort是列表的方法,sorted才是BIF,而且你的reverse拼错了,加了个r qiuyouzhi 发表于 2021-1-17 19:09
1,如果不改成切片的话,遍历就会出问题
2,这个是基础8,sort是列表的方法,sorted才是BIF,而且你的re ...
好的,谢谢
页:
[1]