我有一个字符串列表:
['bill', 'simpsons', 'cosbys', 'cosby','bills','mango', 'mangoes']
Run Code Online (Sandbox Code Playgroud)
从此列表中删除所有复数的最佳方法是什么?所以,我希望输出为:
['bill', 'simpsons', 'cosby','mango']
Run Code Online (Sandbox Code Playgroud)
一般来说,这个过程被称为"词干",并且有一个名为'stemming'的包用于python.
像这样使用:
from stemming.porter2 import stem
stem("simpsons")
Run Code Online (Sandbox Code Playgroud)
词干不只是干复数,但你可以修改词干包只执行复数词干.看一下来源:http://tartarus.org/martin/PorterStemmer/python.txt
使用NodeBox Linguistics只需两行:
import en
only_singulars = [w for w in noun_list if w == en.noun.singular(w)]
Run Code Online (Sandbox Code Playgroud)
该库实现了康威的多元化规则,考虑了各种特殊情况。
| 归档时间: |
|
| 查看次数: |
3196 次 |
| 最近记录: |