将NLTK数据分为两个列表时获取两个不同的对象

时间:2018-11-03 15:45:56

标签: python nltk

我正在尝试拆分NLTK列表,但是拆分后的列表正在解析为两种不同的类型。第一个列表返回类“ nltk.collections.LazySubsequence”,第二个列表返回类“ list”。我希望两个列表都属于列表类型,我该怎么做?另外,为什么第一个列表变成了“ nltk.collections.LazySubSequency”对象?

function rc_generate_p() {
  $pass = wp_generate_password( 8 );
  wp_send_json( $pass );
}

1 个答案:

答案 0 :(得分:0)

问题在于,单词实际上是nltk.corpus.reader.util.StreamBackedCorpusView。您想要先将其转换为列表,然后进行切片。这是修改后的代码。

import nltk
def novel10(corp_view):
    words = list(corp_view)
    split = int(len(words)*.9)
    first_list = words[:split]
    second_list = words[split:]
    print(type(first_list),  len(first_list),  first_list[:4],  '..')
    print(type(second_list), len(second_list), second_list[:4], '..')

corp_view = nltk.corpus.udhr.words("English-Latin1")
novel10(corp_view)