2017-08-14 2 views
0

Haben Sie eine Liste „l“ mit deutlichen Worten wie folgt aus:abstammend Wörter in einer Python-Liste

'gone', 
'done', 
'crawled', 
'laughed', 
'cried' 

Ich versuche, in dieser Liste gelten ergeben nur auf diese Weise:

from stemming.porter2 import stem 
l = [[stem(word) for word in sentence.split(' ')] for sentence in l] 

Aber nichts scheint passieren und nichts ändert sich. Was mache ich falsch mit dem Stemming-Verfahren?

+0

Es sieht für mich wie Sie eine Ebene zu tief iterieren. 'l' ist eine Liste von Wörtern, nicht von Sätzen, und es scheint nichts zu spalten. –

+0

Wenn 'l' eine Liste einzelner Wörter ist, sollten Sie sie nicht mit' same.split ('') 'teilen –

Antwort

1

Ihr Code hat einen Fehler. l ist eine Liste von Wörtern, keine Sätze. Sie haben, dies zu tun:

l = [stem(word) for word in l] 

Zum Beispiel:

>>> l = ['gone', 'done', 'crawled', 'laughed', 'cried'] 
>>> [stem(word) for word in l] 
['gone', 'done', 'crawl', 'laugh', 'cri']