在字典中存储文件的单词

时间:2014-03-23 11:10:36

标签: python

我想将文本文件的单词存储在字典中。

我的代码是

   word=0
   char=0
   i=0
   a=0
   d={}
   with open("m.txt","r") as f:
      for line in f:
          w=line.split()
          d[i]=w[a]
          i=i+1
          a=a+1
          word=word+len(w)
          char=char+len(line)
          print(word,char)
  print(d)  

我的文字文件是

 jdfjdnv  dj g gjv,kjvbm

但问题是字典只存储文本文件的第一个单词。如何存储其余单词。请帮助

2 个答案:

答案 0 :(得分:0)

您的文字文件有多少行?如果它只有一行你的循环只执行一次,将整行拆分成单独的单词,然后在Python dict中保存一个单词。如果要使用一行保存此文本文件中的所有单词,则需要添加另一个循环。像这样:

for word in line.split():
    d[i] = word
    i += 1

答案 1 :(得分:0)

您只存储第一个单词,因为文件中只有一行,而您唯一的for循环就在行上。

通常,如果您要按索引键入字典,只需使用您已经制作的列表:

   w = []
   char = 0
   with open("m.txt", "r") as f:
       for line in f:
           char += len(line)
           w.extend(line.split())
   word = sum(map(len, w))