所以这是样本列表:
[工作,工作,工作,娱乐,工作,荷花]
我想把工作的形式分开,结果应该是这样的:
[工作,游戏,莲花]
那么,我怎样才能用纯Python代码实现这一点,因为NLTK方法似乎不准确?
答案 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中,您可以使用过滤器删除以ing
或ed
结尾的值。
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"))]