将文件中的单词存入字典

0 投票
2 回答
2917 浏览
提问于 2025-04-17 23:31

我想把一个文本文件里的单词存到一个字典里。

我的代码是

   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

你的文本文件有多少行呢?如果它只有一行,那么你的循环就只会执行一次,它会把整行文字分成一个个单词,然后把其中一个单词保存在Python的字典里。如果你想把这份文本文件里的所有单词都保存下来,而不是只保存一行的一个单词,你需要再加一个循环。可以这样做:

for word in line.split():
    d[i] = word
    i += 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))

撰写回答