List Python:计算txt文件中单词的频率
我需要计算文本文件中关键字的频率。我不允许使用字典或集合,也不能导入任何Python方法。我真的不知道怎么做 这就是它应该显示的方式:List Python:计算txt文件中单词的频率,list,python-3.x,text-files,frequency,List,Python 3.x,Text Files,Frequency,我需要计算文本文件中关键字的频率。我不允许使用字典或集合,也不能导入任何Python方法。我真的不知道怎么做 这就是它应该显示的方式: car 4 dog 4 egg 3 到目前为止,我已经做到了这一点,但它绝对不起作用 fname = input("enter file name:") ifile = open(fname, 'r') list1 = ['car', 'dog', 'cat'.....'ect'] list2 = [] for word in ifile: if w
car 4
dog 4
egg 3
到目前为止,我已经做到了这一点,但它绝对不起作用
fname = input("enter file name:")
ifile = open(fname, 'r')
list1 = ['car', 'dog', 'cat'.....'ect']
list2 = []
for word in ifile:
if word in list1:
list2.index(word)[1] += 1
else:
list2.append([word,])
print(list2,)如果您不能使用任何集合/列表结构,为什么不使用另一个字符串并写入遇到的唯一单词,在存在时递增。伪代码:
- 为存储创建空字符串
- 解析和提取单词
- 迭代
- 对照字符串检查单词(如果存在:增量/如果不存在:添加并将计数设置为1)
- 输出字符串
- 我玩了一下这个。。。我注意到,出于某种原因,我不得不在引号中输入文件名
fname = input('enter file name:')
ifile = open(fname, 'r')
list1 = []
list2 = []
for line in ifile.readlines():
for word in line.split(' '):
word = word.strip()
if word in list1:
list2[list1.index(word)] += 1
else:
list1.append(word)
list2.append(1)
for item in list1:
print item, list2[list1.index(item)]
相关的: