Python 正在尝试创建字典,但得到TypeError:';int';对象是不可编辑的

Python 正在尝试创建字典,但得到TypeError:';int';对象是不可编辑的,python,object,dictionary,iterable,Python,Object,Dictionary,Iterable,也许这是一个愚蠢的问题,但我对Python非常陌生。我正在努力创建单字词典,并计算词典中每个单字的概率。 这是我的密码 filename = 'doyle-27.txt' word_dict= {} with open (filename, "r") as fp: for line in fp: words = line.split() for word in words: word = word.lower

也许这是一个愚蠢的问题,但我对Python非常陌生。我正在努力创建单字词典,并计算词典中每个单字的概率。 这是我的密码

filename = 'doyle-27.txt'
word_dict= {}

with open (filename, "r") as fp:
    for line in fp:
        words = line.split()

        for  word in words:
             word = word.lower

        if not word in word_dict:
                 word_dict[word] =1
        else:
              word_dict[word]+=1
for word in word_dict:
    prob =0
    prob =  word_dict[word]/sum( word_dict[word])
    print(prob)

这里我得到的是一个错误,int对象是不可编辑的。也许有人能帮我修一下。坦克斯

请粘贴输入数据并完成回溯。仅供参考:
for word in words:word=word。lower
没有做您认为它做的事情。
sum(word\u dict[word])
可能是您的问题所在
word\u dict[word]
返回一个整数对象,但
sum()
需要一个iterable。你到底想在这里做什么?你的代码中有很多错误。首先,
word=word.lower
应该是
word=word.lower()
,否则您将把函数
word.lower
分配给
word
。然而,这个循环不会做您希望它做的事情,也就是降低列表中每个单词的大小写。分配给
word
时,它不会影响列表中的项目,只会重新分配名称
word
My bad。确定它是word=word.lower()。