我把字典定义为
coocurences = {('a', 'b'): 74, ('a', 'c'): 33, ('b', 'c'): 26}
我想把这本字典的值改成它的值之和的比例:
{('a', 'b'): 0,556390977443609, ('a', 'c'): 0,2481203007518797, ('b', 'c'): 0,1954887218045113}
我试过:
for x in coocurences.values():
x = (x/sum(coocurences.values()))
但它告诉我:TypeError:“内置函数”或“方法”对象是不可编辑的。 有什么建议可以实现这一点吗
您提供的代码有几个问题:
您发布的代码不会抛出任何错误(我认为在您的实际代码中,您可能有
for x in coocurences.values
没有任何括号,这将抛出错误)x
只是字典中值的副本。更改x
不会更改dict中的值。请参阅Can't modify list elements in a loop Python总而言之:
更好的是,使用听写理解:
还有另一种方法可以做到这一点。而不是使用“.values()”您可以使用键来更改值,如果这样做有意义的话
相关问题 更多 >
编程相关推荐