没有求和函数的求和字典


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 循环。我希望得到一些帮助。

stock = {'meat':100,'fish':100,'bread':100, 'milk':100,'chips':100}
total = 0
for v in stock.values():
total += v

您当前使用sum()的代码是执行此操作的最佳方法,我建议保持原样。但是,仅出于说明目的,这里有一个执行相同操作的 for 循环方法。

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.values()

更有效
>>> 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

你可以非常轻松地在python中迭代抛出字典。

for key in dict:
print(key)

因此,在您的情况下,您应该执行以下操作:

totalstock = 0
for key in stock:
totalstock += stock[key]
print(totalstock)

最新更新