我有类似以下的功能:
def getCost(list):
cost = 0
for item in list:
cost += item
return cost
我称之为:
cost = getCost([1, 2, 3, 4])
这非常简单,但它说明了正在发生的事情。无论我做什么,成本总是最终== 0.如果我将函数中的成本值更改为12,则返回12。如果我调试并查看返回前的成本值,则成本== 10
看起来总是返回已定义的成本数,并完全忽略对它的任何修改。任何人都可以告诉我这会导致什么?
答案 0 :(得分:2)
这应该可以解决您的所有问题(如果总结成本中的列表项目确实是您正在尝试做的事情:
def getCost(costlist):
return sum(costlist)
它完成了完全相同的事情,并保证工作。它也比使用循环和累加器简单得多。