Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.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 为什么会出现这种类型错误:';int';对象是不可编辑的_Python_Iterator - Fatal编程技术网

Python 为什么会出现这种类型错误:';int';对象是不可编辑的

Python 为什么会出现这种类型错误:';int';对象是不可编辑的,python,iterator,Python,Iterator,我的代码如下。有人能帮我理解为什么会出现此错误: 关于我的“for i,crp”行,TypeError:'int'对象不可编辑 类型(语料库)是int吗 它需要是一个可移植的: 我认为错误不在for语句中,而是在行中 corpus = [dictionary.doc2bow(text) for text in sws_removed] 删除的Sws_必须是unicode字符列表。如果它不是一个列表,而是一个int,它可能会给你这个错误。事实上,这段代码给出了这个错误 从集合导入default

我的代码如下。有人能帮我理解为什么会出现此错误:
关于我的“for i,crp”行,TypeError:'int'对象不可编辑

类型(语料库)
是int吗

它需要是一个可移植的:
我认为错误不在for语句中,而是在行中

corpus = [dictionary.doc2bow(text) for text in sws_removed]
删除的Sws_必须是unicode字符列表。如果它不是一个列表,而是一个int,它可能会给你这个错误。事实上,这段代码给出了这个错误

从集合导入defaultdict
进口gensim
从gensim导入语料库
lofs=13
字典=语料库字典(lofs)
语料库=[dictionary.doc2bow(text)表示lofs中的文本]
ldamodel=gensim.models.ldamodel(语料库=corpus)
文档主题=默认目录(列表)
对于i,枚举中的crp(语料库):
probs=ldamodel.get\u document\u topics(crp)

这是stacktrace(在发布时总是很有用)

回溯(最近一次呼叫最后一次): 文件“D:/python/stackoverflow/numpcorma/numcorpora.py”,第9行,在 字典=语料库字典(lofs) 文件“C:\Users\Admin\Anaconda3\lib\site packages\gensim\corpora\dictionary.py”,第58行,在init self.add_文档(文档,prune_at=prune_at) 文件“C:\Users\Admin\Anaconda3\lib\site packages\gensim\corpora\dictionary.py”,第111行,在add\U文档中 对于文档编号,枚举中的文档(文档): TypeError:“int”对象不可编辑

现在将
lofs=13
替换为
lofs=['list of words'.split()]
,它将正常运行,并提供以下输出:

[[(0, 1), (1, 1), (2, 1)]]
[(50, 0.75250000000000183)]

因此,检查您的sws_是否已移除。它是一个int,而不是应该的unicode字符列表。

什么是语料库?我看不到它的定义。欢迎来到StackOverflow。请阅读并遵循帮助文档中的发布指南。适用于这里。在您发布MCVE代码并准确描述问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中并重现问题。
corpus
几乎肯定是
int
类型,这就是它所说的不能重复的。
[[(0, 1), (1, 1), (2, 1)]]
[(50, 0.75250000000000183)]