我想将结果中的每个单词传递给stemm方法以删除后缀。但是,在打印我的“最终”列表时,我发现该方法不适用于单词。我错误地调用了这个函数吗?
results=[]
with open('/Users/mnk/Documents/Stemtry.txt') as filer:
for line in filer:
results.append(line.strip().split())
result=[]
final=[]
def stemm(n):
for suffix in ['ing', 'ly', 'ed', 'ious', 'ies', 'ive', 'es', 's', 'ment']:
if n.endswith(suffix):
return n[:-len(suffix)]
return n
for eachitem in results[:10]:
for n in eachitem:
r=stemm(n)
final.append(r)
print(final)
result.append(final)
答案 0 :(得分:2)
去缩进第12行("返回n")一次。然后等到所有后缀都被检查后再返回结果。您还可以使用else
子句。
def stemm(n):
for suffix in ['ing', 'ly', 'ed', 'ious', 'ies', 'ive', 'es', 's', 'ment']:
if n.endswith(suffix):
return n[:-len(suffix)]
else:
return n