1

我正在尝试使用 Python 和 NLTK,但似乎无法为它们使用正则表达式,也无法弄清楚原因。

>>> import nltk
>>> import re
>>> words = nltk.corpus.words.words('en')
>>> ed-words = [w for w in words if re.search('ed$', w)]
SyntaxError: can't assign to operator
4

2 回答 2

1

这里的问题是ed-words:在 Python 中,-符号表示减号,所以它试图处理ed - words = ...,这是非法的。

于 2013-11-03T13:18:13.147 回答
1

正如其他人所提到的,-在大多数编程语言中使用变量名是非常非法的。

在 Python 中,您可以使用下划线:

ed_words = [w for w in words if re.search('ed$', w)]

请参阅命名约定

于 2013-11-03T13:20:37.307 回答