这两个代码有什么区别?

时间:2014-12-07 23:15:17

标签: python dictionary

这两个代码有什么区别?第一部作品,但第二部作品不......

total=sum(prices[k]*stock[k] for k in prices)

for k in prices:
      total=sum(prices[k]*stock[k])

1 个答案:

答案 0 :(得分:5)

第二个例子是在循环的每次迭代中重新创建总数。相反,你必须使用这样的东西:

total = 0
for k in prices:
    total+=prices[k]*stock[k]

这将最初将total设置为零,并将每次迭代的总数增加prices[k]*stock[k]