有问题的python函数返回

时间:2010-10-25 22:56:10

标签: python

我有类似以下的功能:

def getCost(list):
  cost = 0
  for item in list:
    cost += item
  return cost

我称之为:

cost = getCost([1, 2, 3, 4])

这非常简单,但它说明了正在发生的事情。无论我做什么,成本总是最终== 0.如果我将函数中的成本值更改为12,则返回12。如果我调试并查看返回前的成本值,则成本== 10

看起来总是返回已定义的成本数,并完全忽略对它的任何修改。任何人都可以告诉我这会导致什么?

1 个答案:

答案 0 :(得分:2)

这应该可以解决您的所有问题(如果总结成本中的列表项目确实是您正在尝试做的事情:

def getCost(costlist):
    return sum(costlist)

它完成了完全相同的事情,并保证工作。它也比使用循环和累加器简单得多。