在列表理解期间将变量传递给函数

时间:2013-10-24 07:15:00

标签: python list-comprehension

我有一个字符串text,我想将其中的每个单词Lemmatize并将其作为字符串重新组合在一起。我目前正在尝试这样做:

from nltk.stem.wordnet import WordNetLemmatizer
lmtzr = WordNetLemmatizer()
text = ' '.join[lmtzr.lemmatize(word) for word in text.split()]

但我收到了错误:

SyntaxError: invalid syntax

我想我不允许将word传递给列表理解中的函数。我有两个问题:

1)为什么不允许这样做?

2)我怎么能用另一种方法做到这一点?

谢谢。

1 个答案:

答案 0 :(得分:3)

错误是因为您忘记了括号。使用列表推导并将其传递给join

text = ' '.join([lmtzr.lemmatize(word) for word in text.split()])

或只使用生成器理解:

text = ' '.join(lmtzr.lemmatize(word) for word in text.split())