提问者:小点点

不带和函数的和字典[重复]


stock={'meat':100,'fish':100,'bread':100, 'milk':100,'chips':100}


totalstock = sum(stock.values())
print("Total stock level :",totalstock)

totalstock=0
for value in stock :
totalstock = totalstock + value

print("Total stock level :",totalstock)

产量:总库存量:500

以上是我目前所掌握的

我一直在想如何在不使用sum函数的情况下对字典进行求和,也许是使用for循环。 我希望能得到一些帮助。


共3个答案

匿名用户

您当前使用sum()的代码是实现这一目标的最佳方法,我建议您保持原样。 然而,为了说明目的,这里有一个for-loop方法来做同样的事情。

stock = {'meat': 100, 'fish': 100, 'bread': 100, 'milk': 100, 'chips': 100}

totalstock = 0
for item, value in stock.items():
    totalstock += value

print(f"Total stock level: {totalstock}")

注意:我有意在这里使用dict.items(),因为在迭代字典时它几乎总是更有用。 如果您确实只需要来自dict的值,那么使用dict.values()会更有效

匿名用户

stock = {'meat':100,'fish':100,'bread':100, 'milk':100,'chips':100}
total = 0

for v in stock.values():
    total += v

匿名用户

>>> from statistics import mean
>>> stock={'meat':100,'fish':100,'bread':100, 'milk':100,'chips':100}
>>> print(f"Total stock level  : {mean(stock.values())*len(stock)}")
Total stock level  : 500