如何用列表中的-ed,-ing切换不同的动词时态单词?

时间:2017-12-04 12:55:17

标签: python nltk

所以这是样本列表:
[工作,工作,工作,娱乐,工作,荷花]
我想把工作的形式分开,结果应该是这样的:
[工作,游戏,莲花]
那么,我怎样才能用纯Python代码实现这一点,因为NLTK方法似乎不准确?

3 个答案:

答案 0 :(得分:1)

您可以使用以下代码:

代码:

from nltk.stem import PorterStemmer
stemmer = PorterStemmer()

List = ['work','worked','working','play']
List = [stemmer.stem(token) for token in List]
List1=[]
for token in List:
    if token not in List1:
        List1.append(token)

输出:

['work', 'play']

答案 1 :(得分:1)

在python中,您可以使用过滤器删除以inged结尾的值。

your_list = ['work', 'worked', 'working', 'play']
print filter(lambda i: not i.endswith(('ing', 'ed')), your_list)

它返回一个列表。

['work', 'play']

答案 2 :(得分:0)

你可以这样做:

List = ['work','worked','working','play']

[item for item in List if not item.endswith(("ed", "ing"))]