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循环。 我希望能得到一些帮助。
您当前使用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