将文件中的单词存入字典
我想把一个文本文件里的单词存到一个字典里。
我的代码是
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))