我正在尝试使用 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
我正在尝试使用 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
这里的问题是ed-words
:在 Python 中,-
符号表示减号,所以它试图处理ed - words = ...
,这是非法的。
正如其他人所提到的,-
在大多数编程语言中使用变量名是非常非法的。
在 Python 中,您可以使用下划线:
ed_words = [w for w in words if re.search('ed$', w)]
请参阅命名约定。