私はPythonでnltkライブラリを使用しています。私の背景はJavaです。私が書いたコードのコンソール出力を理解できません。なぜ私の初期化変数tokens
をリストにしても、Pythonは奇妙な形を返すのです。出力がリストを印刷しないのはなぜですか?
from nltk.tokenize import word_tokenize
from nltk.corpus import stopwords
import nltk
def tokenize_sentence(sentence):
tokens=[]
tokens = word_tokenize(sentence)
tokens = (word for word in tokens if word not in \
set(stopwords.words('english')))
return tokens;
a="John is an actor."
print(tokenize_sentence(a))
出力:
<generator object tokenize_sentence.<locals>.<genexpr> at 0x10dc5b1a8>
私は、toString()メソッドが定義されていないされているオブジェクトを印刷しようとすると、Javaが何に似たものとして、この出力を参照してください。
カッコ内は、リストではなくジェネレータを生成します*。 'tokens'では'() 'の代わりに' [] 'を使うか、代わりに' list(tokenize_sentence(a)) 'を呼び出してください。 –
'tokens'はリストではないので、リストを表示しません。 – user2357112
@JimFasarakisHilliardの提案が両方とも機能しました。ありがとうございました – AV94