在不将它们放入数组的情况下提取电子邮件地址中的单词

Stemming words in email addresses without putting them into arrays

我试图在 Andrew Ng 的斯坦福大学 ML 课程中重新实现垃圾邮件分类器,我使用了 'PorterStemmer()' 但提取后的电子邮件是列表形式

ps = PorterStemmer()

for i in range(len(just_emails)):
    words = word_tokenize(just_emails[i])
    just_emails[i] = [ps.stem(w) for w in words]
print(just_emails.split()

但我需要做的是截断电子邮件中的文字并保持电子邮件的原始形式

实际输出:[go, until, jurong, point, crazi, avail, onli,...]

期望输出:一直走到裕廊点 crazi avail onli

这个表达式 just_emails.split() 产生一个列表,它是一个 Python 数据结构。如果你 print 它,Python 就可以合理地在你的屏幕上表示该数据结构。

如果您希望它以另一种形式显示,您必须说出您期望的形式。比如你想让列表中的单词串在一起,用空格隔开,其实你也得这么说。像这样:

print(' '.join(just_emails.split()))