【发布时间】:2017-03-26 00:34:52
【问题描述】:
我需要知道为什么它不会让我将作业的值增加 1:
keywords = {'states' : 0, 'observations' : 1, 'transition_probability' : 2, 'emission_probability' : 3}
keylines = {-1,-1,-1,-1}
lines = file.readlines()
for i in range(0,len(lines)):
line = lines[i].rstrip()
if line in keywords.keys():
keylines[keywords[line]] = i + 1 << this is where it is giving me the error
我将它作为一个类运行,它运行良好,但现在作为一个内联代码片段它给了我这个错误。
【问题讨论】:
-
试试
keylines = [-1,-1,-1,-1];无论如何,一套只能容纳一个-1。 “我把它作为一个班级运行,它运行良好” - 不,你错了。 -
更正:“我在课堂上运行过它,效果很好。”
-
不,它没有。它不能有。上课并不意味着对一个系列做这件事是合法的!
-
随你怎么说,但这是我在课堂上使用的完全相同的代码。你可以说它在我的课堂上有效,而不是在这个结构中你想要的,但它并没有改变它有效的事实。
-
设置对象,正如错误信息告诉你的,不支持项目分配。他们在函数中不支持它,在模块中不支持它,在类中也不支持它。这只是事实。您实际上并没有显示您认为它正在工作的示例,但是错误的行不同或定义
keylines的行不同,因为两者的比较会告诉您而不需要问这个问题.
标签: python python-3.x dictionary set typeerror