我有
def findfreq(nltktext, atitem)
fdistscan = FreqDist(nltktext)
distlist = fdistscan.keys()
return distlist[:atitem]
依赖于NLTK包中的FreqDist,但不起作用。问题似乎是函数的一部分,我尝试使用变量atitem
仅返回列表的前n项。所以我像这样推广这个函数
def giveup(listname, lowerbound, upperbound)
return listname[lowerbound:upperbound]
返回常见错误
>>> import bookroutines
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "bookroutines.py", line 70
def giveup(listname, lowerbound, upperbound)
^
SyntaxError: invalid syntax
但希望也能得到某些人的回答,他的Python比我的流程要流畅得多。
答案 0 :(得分:2)
:
行的末尾需要冒号(def
)。
def findfreq(nltktext, atitem):
fdistscan = FreqDist(nltktext)
distlist = fdistscan.keys()
return distlist[:atitem]
Python的函数声明语法是:
def FuncName(Args):
# code
答案 1 :(得分:0)
operator.itemgetter()
将返回一个函数,如果您将序列传递给slice
对象,则会对其进行切片。