Python 随机移动(someLazyMap)

Python 随机移动(someLazyMap),python,nltk,pos-tagger,Python,Nltk,Pos Tagger,我目前正在尝试训练我的Python NLTK词性标记器正确标记德语文本。为此,我使用ClassifiedBasedGermanAger,来自: 以及本网站的培训语料库: (老虎语料库2.2版(2012年7月)) 我发现有一个写得很好的教程介绍了如何进行这项工作。所以现在我要做的就是重新创建代码: 不适合我的部分是: tagged_sents = corp.tagged_sents() random.shuffle(tagged_sents) 我得到的错误如下所示: File "C:\s

我目前正在尝试训练我的Python NLTK词性标记器正确标记德语文本。为此,我使用ClassifiedBasedGermanAger,来自:

以及本网站的培训语料库:

(老虎语料库2.2版(2012年7月))

我发现有一个写得很好的教程介绍了如何进行这项工作。所以现在我要做的就是重新创建代码:

不适合我的部分是:

tagged_sents = corp.tagged_sents() 
random.shuffle(tagged_sents)
我得到的错误如下所示:

File "C:\somedude\lib\random.py", line 274, in shuffle
    x[i], x[j] = x[j], x[i]
TypeError: 'LazyMap' object does not support item assignment
你有没有一个解决办法,或者甚至是一个解释,为什么它应该对写那个教程的先生有效,为什么它对我显示了一个错误?目前我正在使用Python3

非常感谢大家。

标记的字符=列表(范围(,)#确保某些字符是列表/可变序列
tagged_sents = list(range(<some number>,<some number>))  # make sure some_nums is a list/mutable sequence
random.shuffle(tagged_sents)
随机。洗牌(标记的字母)
你可以在这里找到解决办法


有点晚了,但可能对其他人有帮助

本教程的作者忘记了NLTK书中所述的“列表”:

所以不是

tagged_sents=公司tagged_sents()

它必须是:

tagged_sents=列表(公司tagged_sents())