我创建了一个简单的函数来解析迭代中的N个元素。
def drop_first_last(grades):
grades = first, *middle, last
return avg(middle)
当我运行此功能时发生以下错误:
grades = first, *middle, last
SyntaxError: invalid syntax
我不知道为什么会出现这个错误,如何解决?
答案 0 :(得分:7)
只是做:
middle = grades[1:-1]
return avg(middle)
答案 1 :(得分:0)
错误的原因是这不是Python语法! *
表示法用于声明可变数量的参数和解包元组。您正在尝试使用它来执行类似Haskell等函数式语言中的pattern matching之类的操作。正如@thegrinner所指出的那样,这项任务是倒退的。