python generator类型_python – ‘generator’类型的对象没有len()

我刚刚开始学习

python.我想在NLTK中编写一个程序,将文本分成unigrams,bigrams.

例如,如果输入文本是:

“由于错误,我感到悲伤和失望”

函数应该生成如下文本:

我是 – >感觉 – >感到难过 – >悲伤和 – >和失望 – >因为 – >因为错误而导致错误

我已编写代码将文本输入到程序中.这是我正在尝试的功能:

def gen_bigrams(text):

token = nltk.word_tokenize(review)

bigrams = ngrams(token, 2)

#print Counter(bigrams)

bigram_list = ""

for x in range(0, len(bigrams)):

words = bigrams[x]

bigram_list = bigram_list + words[0]+ " " + words[1]+"-->"

return bigram_list

我得到的错误是……

for x in range(0, len(bigrams)):

TypeError: object of type 'generator' has no len()

由于ngram函数返回一个生成器,我尝试使用len(list(bigrams))但它返回0值,所以我得到了相同的错误.我已经提到了有关stackexchange的其他问题,但我仍然没有解决如何解决这个问题.我陷入了这个错误.任何解决方法,建议?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值