首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有标记化的Python嵌套列表理解

带有标记化的Python嵌套列表理解
EN

Stack Overflow用户
提问于 2022-11-07 22:33:05
回答 2查看 24关注 0票数 1

Python问题:我有一个句子列表,我想应用nltk词干。因此,对于每个句子中的每个单词,我想应用nltk snowball.stem函数。

我想通过理解列表尽可能短一些。下面的代码工作得很好,但是我想用更少的行编写它:

代码语言:javascript
复制
data_stemming=[]
for sentence in data:
    word_list=word_tokenize(sentence)
    stemmed_sentence=' '.join([stemmer.stem(w) for w in word_list])
    data_stemming.append(stemmed_sentence)

print(data_stemming)

产出:

代码语言:javascript
复制
['do do done', 'do requir', 'shoe shoe']

有人能帮我一下吗?

非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2022-11-07 22:42:59

nltk.word_tokenize接受string作为输入,但data是字符串的list。你需要的是:

代码语言:javascript
复制
data = ['doing do done', 'requires require', 'shoe shoes']
joined_data = ' '.join(data)
data_stemming=[[snowball.stem(w) for w in word_list] for word_list in nltk.word_tokenize(joined_data)]
票数 0
EN

Stack Overflow用户

发布于 2022-11-11 09:45:51

你可以试着用一个单子来理解它。

代码语言:javascript
复制
data_stemming = [''.join([stemmer.stem(w) for w in word_tokenize]) for sentence in data]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74353671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档