List Python:计算txt文件中单词的频率

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

我需要计算文本文件中关键字的频率。我不允许使用字典或集合,也不能导入任何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 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)]
      
      相关的: