尝试使用' len'来查找列表长度时出现语法错误功能

时间:2015-03-15 06:09:57

标签: python syntax jython

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

len(numList)

它给我一个语法错误,我不知道为什么。我在互联网上看到的一切都说这个功能应该有效,但事实并非如此。这是完整的方法。

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

2 个答案:

答案 0 :(得分:1)

您忘记了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

因为你似乎采取了不存在的"意思是"一个空列表为0.但是,这超出了你的琐碎语法错误,并且可能值得一个单独的Q应该仍然存在问题! - )

答案 1 :(得分:0)

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

返回总和(numList)/ len(numList)