给定一个Python列表,如何编写一个返回给定范围元素的函数?

时间:2010-09-25 23:12:29

标签: python list

我有

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比我的流程要流畅得多。

2 个答案:

答案 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对象,则会对其进行切片。