功能 - 不可解决的类型列表()> INT()

时间:2014-12-05 01:45:43

标签: python list integer comparison

values = []

def posNumAvg(values):
    average = 0
    sum = 0
    if n in values > 0:
        sum = sum + n
    return sum/len(values)

给我留言:

Unorderable types: list() > int()

如何解决此问题,以便将列表values中的每个值与0进行比较?

1 个答案:

答案 0 :(得分:1)

if n in values > 0:有很多错误:

  • values > 0正在将列表与int进行比较 - 这是您在Python中无法做到的事情
  • n in values > 0正在将未定义的变量与破损的表达式进行比较(您也无法做到)
  • average从未使用过,这不是问题但可能不是您想要的

试试这个:

def posNumAvg(values):
    return sum(n for n in values if n > 0)/len(values)

Python有一个内置的sum函数,可用于获取可迭代的所有项的总和(在本例中为生成器对象),然后我们除以原始列表的长度价值观。