Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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_Set_Set Comprehension - Fatal编程技术网

Python 为什么我的电视机会出现打字错误?

Python 为什么我的电视机会出现打字错误?,python,set,set-comprehension,Python,Set,Set Comprehension,我试着用这个集合修改我的原始代码 next_states = {next_states | self.transition_function[(state, input_value)] for state in e_closure_states} 但是这个代码抛出 TypeError:无法损坏的类型:“set” 原始代码(按预期工作)。另外,应该提到的是设置了self.transition\u函数[(状态,输入值)],这就是我使用union的原因。提前谢谢 for state in

我试着用这个集合修改我的原始代码

next_states = {next_states | self.transition_function[(state, 
    input_value)] for state in e_closure_states}
但是这个代码抛出

TypeError:无法损坏的类型:“set”

原始代码(按预期工作)。另外,应该提到的是设置了
self.transition\u函数[(状态,输入值)]
,这就是我使用union的原因。提前谢谢

for state in e_closure_states:
    next_states = next_states | self.transition_function[(state, input_value)]

出现错误
TypeError:unhabable type:“set”
,因为您试图将一个集合添加为另一个集合的元素。正如错误消息所暗示的,集合只能包含可散列元素,而集合本身是不可散列的

我不能完全确定我是否理解您试图做的事情,但请告诉我此代码是否产生了与
for
循环相同的东西,您知道这是正确的:

next_states=set.union(next_states,*(e_closure_states中状态的self.transition_函数[(状态,输入值)])

self.transition\u函数[(状态,输入值)]
是从代码中复制的。这是a的内部,如括号所示。星号(
*
)将生成器解压到
set.union()调用中。你可以阅读更多关于这方面的内容

删除
next_states.
@stephernauch我也有同样的错误。你能给出一些具体的例子吗,next_states是什么?那是一套吗?一个值?@BillChen我不是OP,但是
next\u state
是一个集合。是的,但是我可以在没有集合理解的情况下完成它。我只是好奇为什么不工作,如果我的代码有错误。@M.Mar我对错误的解释是否足够清楚?你有什么问题吗?@BillChen你什么意思?OP的代码中有错误信息,我解释了原因。这篇文章实际上并没有提到他想做什么,所以找到一个解决方案有点困难。我知道他可能在做什么,所以我想我会放弃。哦,对不起,我同意你的观点,我的意思是,这里的解决方案取决于问题的内容。我不小心单击了回车键。:-)@我写了一个解决方案。如果您仍然无法理解为什么会出现错误,我可以详细解释。我只是还没做,因为我正在打电话,这很难。