这两个代码有什么区别?第一部作品,但第二部作品不......
total=sum(prices[k]*stock[k] for k in prices)
for k in prices:
total=sum(prices[k]*stock[k])
答案 0 :(得分:5)
第二个例子是在循环的每次迭代中重新创建总数。相反,你必须使用这样的东西:
total = 0
for k in prices:
total+=prices[k]*stock[k]
这将最初将total
设置为零,并将每次迭代的总数增加prices[k]*stock[k]
。