Python在词序化字符串的列表推导中出现语法错误



我试图只对字符串中有超过4个字母的单词执行词序排列。下面代码的期望输出应该是'us american',但是我收到了一个无效的语法错误。

import nltk
from nltk.tokenize import TweetTokenizer
lemmatizer = nltk.stem.WordNetLemmatizer()
w_tokenizer = TweetTokenizer()    
wd = w_tokenizer.tokenize(('us americans'))
[lemmatizer.lemmatize(w) for w in wd if len(w)>4 else wd for wd in w]

您可以尝试使用这个列表推导式:

[lemmatizer.lemmatize(w) if len(w)>4 else w for w in wd]

然后,如果考虑到你的输入示例,你想要一个字符串,你可以对字符串使用Pythonjoin操作:

' '.join([lemmatizer.lemmatize(w) if len(w)>4 else w for w in wd])

相关内容

  • 没有找到相关文章

最新更新