Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 类型错误';设置';对象不支持项分配_Python_Python 3.x_Dictionary_Set_Typeerror - Fatal编程技术网

Python 类型错误';设置';对象不支持项分配

Python 类型错误';设置';对象不支持项分配,python,python-3.x,dictionary,set,typeerror,Python,Python 3.x,Dictionary,Set,Typeerror,我需要知道为什么它不允许我将作业的值增加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 i

我需要知道为什么它不允许我将作业的值增加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
keywords={'states':0,'observations':1,'transition\u probability':2,'emission\u probability':3}
关键字={1,-1,-1,-1}
lines=file.readlines()
对于范围(0,len(行))中的i:
line=行[i].rstrip()
如果关键字.keys()中有一行:

keylines[keywords[line]=i+1您使用的是一个集合,您需要一个用方括号创建的列表:

keylines = [-1,-1,-1,-1]

试试
关键字=[-1,-1,-1]
;一个集合只能容纳一个
-1
。“我把它作为一个班来运行,它运行得很好”-不,你错了。更正:“我在一个班上运行,它运行得很好。”不,它没有。不可能。上课并不意味着这是一件合法的事情!你想说什么就说什么,但这和我在课堂上使用的代码完全一样。您可能会感到意外,因为它在我的类中工作,而不是在这个结构中工作,但它不会改变它工作的事实。正如错误消息所告诉您的,Set对象不支持项分配。他们在函数中不支持它,在模块中不支持它,在类中也不支持它。这只是事实。实际上,您并没有显示您认为它起作用的示例,但要么是错误行不同,要么是定义
关键行的行不同,这两个行的比较会告诉您,无需提问。