尝试使用 'len' 函数查找列表的长度时出现语法错误

Syntax error when trying to find the length of a list using 'len' function

你好,我正在尝试查找列表的长度,以便在一种方法中使用该列表来查找所述列表中所有数字的平均值,但是当我尝试 运行 代码时

len(numList)

它给我一个语法错误,我不知道为什么。我在 Internet 上阅读的所有内容都说此功能应该有效,但事实并非如此。这是完整的方法。

def mean(numList):
  i = 0
  total = 0     
  while len(numList) > i
     total = total + numList[i]
     i = i + 1
  print total
  return total

您忘记了 if 语句中需要的尾随冒号!

换行就行了

while len(numList) > i

while len(numList) > i:

看出区别了吗?只是一个尾随冒号 -- 但它 Python 语法的关键部分!

顺便说一句,我大大将代码简化为

def mean(numList):
    return sum(numList)

得到与您的代码完全相同的结果——如果 mean 您的意思是 average,这似乎是错误的,但这可以修复,例如

def mean(numList):
    return sum(numList)/float(len(numList)) if numList else 0

因为您似乎将空列表中不存在的 "mean" 视为 0。但是,这远远超出了您的琐碎语法错误,如果仍然存在任何问题,可能值得单独提问!-)

我认为你的函数在语义上是错误的。也许:

return sum(numList)/len(numList)