当您读取文件时,所有内容都以字符串形式读取。要获得一个浮点值,你需要将它转换为一个浮点数。
def read_wiktionary():
answer = dict()
f = open('wiktionary.txt', 'r')
for line in f:
word, value = line.rstrip('\n').split(' ')
answer[word] = float(value)
return answer
顺便说一句,这是一般使用with
打开一个文件,这样当它离开该块它会自动关闭很好的做法。 From the docs:
在处理文件 对象时,最好使用with关键字。这具有如下优点:在 其套件结束后,即使在路上引发异常,该文件也能正确关闭。
所以,我建议:
def read_wiktionary():
answer = {}
with open('wiktionary.txt', 'r') as f:
for line in f:
word, value = line.rstrip('\n').split(' ')
answer[word] = float(value)
return answer
你可以给你的预期输出的例子吗?很难确定你说的时候没有引用的意思。 –
当您打印一个字符串值时,通常会打印引号以表明它是一个字符串。字符串的实际值不包含这些引号。你能澄清一下你需要“回答”和什么不工作? – Karin
>>> FREQ = read_wiktionary() >>>频率[ '的'] 56271872.0 >>>频率[ '我的'] 3277699.0 –